WEB攻防-通用漏洞-CRLF注入&URL重定向&资源处理拒绝服务
CRLF注入
CRLF注入漏洞发生在应用程序未能正确过滤用户输入中的回车(CR,\r,%0d)和换行(LF,\n,%0a)字符时。在HTTP协议中,HTTP头部字段和正文之间通过一个CRLF序列分隔,每个头部字段之间也通过CRLF序列分隔。攻击者可以利用这一点,在响应头中插入新的头部字段,或者在响应正文中插入内容。
接下来举个例子,当我们请求www.baidu.com的时候,请求头是这样的:
GET / HTTP/1.1 |
当我们请求www.baidu.com/search的时候,请求头会变成这样:
GET /search HTTP/1.1 |
当我们恶意插入换行符号且网站并没对换行符号过滤的时候,就可以将请求写成www.baidu.com/search%0Host:www.hack.com,这样我们的请求头就会变成
GET /search HTTP/1.1 |
这时候就会出现两种情况:
1.访问www.hack.com
2.报错
接下来我们就用一个实际靶场案例来进行演示,如下所示
我们进行抓包,抓包情况如下所示
然后我们进行修改,加入%0aSet-cookie:JSPSESSID%3Dhacker
,然后再进行发送
我们可以看到成功被添加了一个Cookie值,当然,用的最多的是配合xss漏洞,我们直接在页面上生成一个xss语句
0d%0a%0d%0a<img src=1 οnerrοr=alert(/xss/)> |
这里也介绍一个批量测试工具:https://github.com/dwisiswant0/crlfuzz/releases
,访问这个地址即可,可以获取crlfuzz测试工具
URL重定向
URL重定向就更为简单了,即在访问的URL中,会出现类似于/?url=xxxx
的形式,这个时候就会直接跳转到后面所指向的url地址
例如,在以下url中,我们尝试访问原有url,会自动跳转到后面所指向的url地址
db.njau.edu.cn/njau_db/weburl.php?resource_id=189&resource_name=IET英国工程技术学会&urlnames=资源地址&url=http%3A%2F%2Fwww.ietdl.org%2F |
我们尝试将后面的修改为www.baidu.com,观察是否会自动跳转到我们的百度
成功跳转,所以存在url重定向漏洞,至于这个漏洞有啥用,我们的登录验证一般都存在url重定向,我们只需将对应的url替换成我们制作的钓鱼网页,就可以实现盗取用户的登录账号密码,所以危害还是蛮大的,这也是为什么现在大家都把登录验证方式改成了验证码登录吧,会稍微安全一点
我们这里使用Google语法找到一个具有该性质的登录网站,经过测试,存在url重定向的漏洞,我们同时制作一个钓鱼网页进行替换
Google语法: |
我们这里使用kali自带的setoolkit工具进行钓鱼网页的制作,具体操作步骤如下所示
1.setoolkit |
如下就是我们克隆出来的钓鱼网页,我们进行替换即可,替换后的url如下所示
https://db.njau.edu.cn/njau_db/weburl.php?resource_id=300&resource_name=%E8%AE%BA%E6%96%87%E6%94%B6%E5%BD%95%E5%BC%95%E8%AF%81%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%88%E5%8F%82%E8%80%83%E5%92%A8%E8%AF%A2%E9%83%A8%E4%B8%93%E7%94%A8%EF%BC%89&urlnames=&url=http://192.168.20.129/ |
访问后直接跳转到我们的钓鱼网页,然后受害者就会在上面输入关键信息,我们就可以在kali上获取关键信息
这就是一次完整的利用url重定向的社会工程学攻击
WEB拒绝服务
这个漏洞原理也比较简单,但是没有什么利用价值,存在破坏价值,当我们上传的资源的大小是由我们决定的时候,我们就可以输入无限大的数值以造成资源的占有