漏洞介绍

CSRF(Cross-site request forgery)跨站请求伪造,也有人写出XSRF。黑客伪造用户木匾用户的HTTP请求。然后将这个HTTP请求发送给存在CSRF的网站,有CSRF的网站执行了伪造的HTTP请求,就引发了跨站请求伪造

漏洞危害

攻击者盗用了你的身份信息,以你的名义发送恶意请求。
以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账等
造成的问题包括:个人隐私泄露以及财产安全。

漏洞本质

攻击者获取到重要的参数,成功构造一个伪造请求
http://www.xxx.com/money.php?count=3&&id=1000

攻击流程

image.png

挖掘思路

后台功能模块:管理后台、会员中心、添加用户等
被引用的核心文件里面有没有验证token和referer相关的代码

没带token: 可以直接请求这个页面
没带referer:返回相同的数据

代码案例

  • 目标存在CSRF漏洞
  • 受害者需要保持目标站点的活跃状态
  • 受害者需要点击钓鱼链接

实例

新建admin数据库,admin表,添加一个账号
image.png

conn.php
image.png
login.html
image.png
login.php
image.png
image.pngimage.png
register.html
image.png
register.php
image.png

注册抓包
image.png
获取csrf代码,并保存在本地
image.png
image.png
在用户登录状态,点击恶意链接
成功添加账户
image.png
image.png

修复方案

  • 验证码
  • 加 Referer 验证
  • 添加 Token 验证