漏洞介绍
CSRF(Cross-site request forgery)跨站请求伪造,也有人写出XSRF。黑客伪造用户木匾用户的HTTP请求。然后将这个HTTP请求发送给存在CSRF的网站,有CSRF的网站执行了伪造的HTTP请求,就引发了跨站请求伪造
漏洞危害
攻击者盗用了你的身份信息,以你的名义发送恶意请求。
以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账等
造成的问题包括:个人隐私泄露以及财产安全。
漏洞本质
攻击者获取到重要的参数,成功构造一个伪造请求
http://www.xxx.com/money.php?count=3&&id=1000
攻击流程
挖掘思路
后台功能模块:管理后台、会员中心、添加用户等
被引用的核心文件里面有没有验证token和referer相关的代码
没带token: 可以直接请求这个页面
没带referer:返回相同的数据
代码案例
- 目标存在CSRF漏洞
- 受害者需要保持目标站点的活跃状态
- 受害者需要点击钓鱼链接
实例
新建admin数据库,admin表,添加一个账号
conn.php
login.html
login.php
register.html
register.php
注册抓包
获取csrf代码,并保存在本地
在用户登录状态,点击恶意链接
成功添加账户
修复方案
- 验证码
- 加 Referer 验证
- 添加 Token 验证