美文网首页
二十七、CSRF跨站请求伪造

二十七、CSRF跨站请求伪造

作者: cybeyond | 来源:发表于2017-12-21 22:47 被阅读0次

1、简介

1.1、XSS区别

从信任的角度来区分:

  • XSS:利用用户对站点的信任,服务器下发的脚本在客户端浏览器执行
  • CSRF:利用站点对已经身份认证的信任

在已经身份认证过的用户,可以正常访问服务端资源。此时如果黑客发送一个链接,是进行上述访问的服务资源如修改密码的一个链接请求,此时此用户点击,会被执行,密码会被直接修改,因为是利用已经认证的合法身份提交的。

1.2、结合社工在身份认证会话过程中实现攻击

  • 修改账号密码、个人信息(修改已注册的email、收货地址)
  • 发送伪造的业务请求(网银、购物、投票)
  • 关注他人社交账号、推送博文
  • 在用户非自愿、不知情的情况下提交请求

1.3、业务逻辑漏洞

  • 缺少二次确认机制:一般来说对于服务端而言,所有的请求都是合法的,因为已经验证了用户。但是服务端对于关键操作,缺少确认机制是发生此问题的根源(可以采用验证码机制)
  • 自动扫描程序无法实现此类漏洞

1.4 漏洞利用条件

  • 被害用户已经完成身份认证
  • 新请求的提交不需要重新身份认证或确认机制
  • 攻击者必须了解web app请求的参数构造
  • 诱使用户触发攻击的指令(社工)

2、验证csrf(get方法)

环境说明:
192.168.50.115 kali,模拟黑客,搭建1.html网页,诱使受害者点击
192.168.50.17 模拟受害者机器
192.168.50.183 靶机,有csrf漏洞的服务

2.1、搭建诱使点击网页

首先,黑客要知道web app请求的构造,因此,通过burpsuite截获正常访问时的请求数据。访问csrf界面,然后输入修改的密码,点击提交:

正常访问
burp截获
将get请求以一个可点击链接的方式,写入1.html文件中,在黑客的主机上搭建,路径为/var/www/html/1.html
<a href='http://=192.168.50.183/dvwa/vulnerabilities/csrf/?password_new=123&password_conf=123&Change=Change'>csrf</a>

然后启动apahce,并确定能够访问

# service apache2 start

2.2、诱使受害者点击

将上述构造好的网页,通过社工或者其他手段,诱使受害者点击(在受害者已经登录此网站的情况下)

2.3 csrf攻击后果

此时,受害者正在正常访问此网站,此时如果接受到攻击者发送的链接,然后点击了,会发生什么呢?


正常访问 点击恶意链接 密码修改成功

此时logout之后,在通过密码为“password”则无法登录


登录失败

3、验证csrf(post方法)

burpsuite截断后,使用CSRF PoC generator功能。首先截断请求,构造数据请求


截断请求

然后在此基础上,右键点击“CSRF PoC generator”


CSRF PoC generator选择
随后会生成csrf html:
生成csrf html

复制内容,在'/var/www/html/2.html'中粘贴


2.html

验证
在正常登录访问网站的同时,点击恶意链接

点击恶意链接
此时,密码已经被修改。
密码修改成功

4、源代码

4.1、low级别

low源代码

4.2、medium级别

上述的都是基于low级别进行的poc测试,下面通过medium级别可以看到,多了一层判断,意思是判断referer信息,看请求中是否含有127.0.0.1即只能本机修改密码,如果不是则不能执行。


medium源代码

通过请求截断,在referer中添加127.0.0.1,只要在referer中找到此字段,即为通过判断条件

修改referer

转发forward后,密码已经修改成功


修改密码成功

4.3、high级别

高级别增加了当前密码的二次校验功能


high级别 high源代码

5、自动扫描程序的检测方法

  • 在请求和响应过程中检查是否存在anti-CSRF token名
  • 检查服务器是否验证anti-CSRF token的名值
  • 检查token中可编辑的字符串
  • 检查referer头是否可以伪造

6、应对对策

  • Captcha验证码
  • anti-CSRF token
  • Referer
  • 降低会话超时时间

相关文章

网友评论

      本文标题:二十七、CSRF跨站请求伪造

      本文链接:https://www.haomeiwen.com/subject/wkedwxtx.html