背景
由于项目安全审查时,被发出安全警告,原因是存在CSRF漏洞,请求可能被恶意伪造。开发紧急修复后,需要测试是否修复漏洞再提交安全审查。借此记录下CSRF是什么,验证工具是什么。
CSRF是什么?
CSRF,即跨站点请求伪造(Cross Site Request Forgery),是一种劫持受信任用户向服务器发送非预期请求的攻击方式。通常情况下,CSRF 攻击是攻击者借助受害者的 Cookie 骗取服务器的信任,可以在受害者毫不知情的情况下以受害者名义伪造请求发送给受攻击服务器,从而在并未授权的情况下执行在权限保护之下的操作。
验证工具
CSRFTester是一款CSRF漏洞的测试工具。其原理:使用代理抓取我们在浏览器中访问过的所有的连接以及所有的表单等信息,通过在CSRFTester中修改相应的表单等信息,重新提交,相当于一次伪造客户端请求,如果修测试的请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。
CSRFTester使用
1.设置浏览器代理:127.0.0.1:8008 2.启动CSRFTester,通过监听本地的8008端口来测试
3.点击【Start Recording】,然后在浏览器页面操作待测的功能
4.在CSRFTester里找到提交的表单数据包,修改想要修改的数据,然后点击右下角的【Generate HTML】保存到指定目录,生成一个index.html文件
5.用浏览器打开上一步生成的HTML文件,将自动运行里面的JavaScript脚本,如果请求成功被网站服务器接受,说明存在CSRF注入,否则不存在。