目录
一.暴力破解
二.Cross-Site Scripting(XSS跨站脚本攻击)
三.CSRF(跨站请求伪造)
四.SQL-Inject
五.RCE
六.File Inclusion(文件包含漏洞)
七.Unsafe Filedownload(不安全的文件下载漏洞)
八.Unsafe Fileupload(不安全的文件上传)
九.Over Permission(逻辑越权)
十. ../../(目录遍历漏洞)
十一.敏感信息泄露
十二.PHP反序列化
十三.XXE
十四.URL重定向
十五.SSRF(服务器请求伪造)
1.基于表单的暴力破解
打开burpsuite抓包,进行爆破
最后选择长度最特殊的那个payload试一下,基本就是账号密码了
解决办法:加验证码机制,或者多次错误输入密码直接禁止输入等
2.验证码绕过(on server)
这个还是需要爆破,但是这个其实就是用一个验证码去爆破就可以了,因为服务器并没有对使用过的验证码销毁,所以导致在一定时间内该验证码都有效,所以拿着一个验证码去爆破账号密码
解决方案:每次生成新的验证码的时候,旧的验证码就销毁
3.验证码绕过(on client)
这个验证码是前端生成并校验的,其实就更好去爆破了,直接抓包把那个验证码去掉就可以了
或者不需要去掉,因为验证码是在前端校验的,后端没有用
再或者直接把前端生成验证码和校验验证码的JavaScript函数给禁用了即可
前端校验本身就是一种危险行为,因为前端是用户可操作的!!!
解决方案:验证码不可以放在前端去校验,放在后端去校验,放在redis中就可以
4.Token防爆破
这个题多了个token,而且每次token都会变化,所以我们没办法通过之前的方法去跑字典爆破了
而这个token是哪来的呢,我们抓个包看一下
我们随便输入一个数据,抓个包,放到reperter里看看返回值
我们可以看到返回了一个token,那么第一个token就是我们刚点进这个页面的时候给我们的
所以说这个token就是上一个数据包返回的token,那么我们就可以利用这一点来爆破了
每次爆破使用的token就是上一个返回的就行
爆破成功
解决方案:单纯的token防止爆破并不安全,如果可以带上后端验证码验证就好的多了,登录成功后再发放token
1.反射型xss(get)
遇到xss,我们就要关注输入和输出的变化
所以先随便输入一个数试试
我们可以看到输出点在这,并且输入最大长度设了限制,为20
我们直接把长度限制给删了,然后闭合以下下面的那个输出
我们用
//
成功!!!
解决方案,可以把长度限制同时放在后端就可以
2.反射型xss(post)
第二关更简单了
根据提示登录账号密码
然后这一次还没有字数限制,我们直接获取cookie
payload:
3.存储型xss
这一关让我们体验了一把什么是存储型xss
我们在留言板输入:
然后我们每次访问这个界面就会触发这个命令
4.DOM型xss
其实这里的解法依旧是想办法闭合前面的即可,但是这里有点奇怪,不知道为什么输入的双引号无法闭合,只能输入单引号,单引号就变成双引号了,很离谱,具体原因未知
后来看了源码明白了,源码中那里使用的是单引号,所以要用单引号才能闭合
由于是href,我们输入 javascript:alert(1) 也行
5.DOM型xss-x
这里和上一关一样,只是加了一层,点一下后,输出的内容才会显出来了
6.xss之盲打
输入之后无论怎么找都找不到输出,不知道数据跑到哪里去了
看了提示,发现让去登录以下后台,于是就按提示登陆了一下
发现数据已经在这里了
我们再次注入一下试试
我们把两个都写上看看
最后登录到后台发现弹了两次,说明触发了两次
7.xss之过滤
这一关是过滤,说明不会这么轻松的
我们依旧先输入数据进行测试
发现输出点以后
我们注入一下
离谱,咋全没有了
接下来试了好多次,最后排除了一下可能是把