CSRF漏洞
一、CSRF漏洞介绍:CSRF是指利用受害者尚未失效的身份认证信息( cookie、会话等信息),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作(如转账、改密、信息修改等操作)。CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用二、CSRF类型:get请求型CSRF只需要构造URL,然后诱导受害者访问利
一、CSRF漏洞介绍:
CSRF是指利用受害者尚未失效的身份认证信息( cookie、会话
等信息),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下
以受害者的身份向服务器发送请求,从而完成非法操作(如转账、改密、信息修改等操作)。
CSRF与XSS最大的区别就在于,CSRF并没有盗取cookie而是直接利用
二、CSRF类型:
- get请求型CSRF
只需要构造URL,然后诱导受害者访问利用。
- POST请求型CSRF
构造自动提交的表单,诱导受惠者访问或者点击
三、CSRF漏洞危害:
以受害者的名义发送邮件、发消息、盗取受害者的账号,甚至购买商品、虚拟货币转账、修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)等等操作。造成的问题包括:个人隐私的泄露、机密资料的泄露、用户甚至企业的财产安全;
一句话概括CSRF的危害:盗用受害者的身份,受害者能做什么,攻击者就能以受害者的身份做什么。
四、CSRF漏洞利用思路:
寻找有权限进行增删改查操作的功能点:比如修改密码、修改个人信息等等,通过burp构造HTML,修改HTML表单中某些参数,使用浏览器打开该HTML,点击提交表单后查看响应结果,看该操作是否成功执行。
五、通过工具利用CSRF漏洞方法:
1.1 使用burpsuite中的engagement tools的generate CSRF poc模块
抓包拦截浏览器访问页面的请求信息,在请求页面中点击鼠标右键,选择Generate CSRF POC模块
在构造好了的攻击脚本中,可以将value的值修改成的自定义密码
Test in browser一般用于自己测试用
然后点击“copy”
然后用代理burpsuite的浏览器打开
点击“submit request”即可成功修改密码
Copy HTML 一般用于攻击其他人,复制下代码保存为HTML文档
可以简单修改个中奖页面,诱惑受害者点击
点击领奖成功修改密码
- 2. CSRFTester
下载地址: https://www.owasp.org/index.php/File:CSRFTester-1.0.zip
下载后点击run.bat
正常打开,并监听8008端口,需要把浏览器代理设置为8008
点击Start Recording,开启CSRFTester检测工作,我们这里抓添加管理员的数据包
然后右击删除没用的数据包
点击Generate HTML生成CSRF攻击脚本,我们这次添加test1账号
打开此文件,成功添加账号
六、CSRF漏洞修复建议
-
token随机值防御
在请求地址中添加token并验证;
CSRF之所以能够成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存储在cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie来通过验证。
要低于CSRF,关键在于在请求中放入和黑客所不能伪造的信息,并且该信息不存在于cookie中。可以在http请求中以参数的形式加入一个随机产生的token,并且在服务器端建立一个拦截器来验证这个token值,如果请求中没有token值或者token不正确,则可以认为可能是CSRF攻击而拒绝请求。
2. referer值校验
增加HTTP referer的校验:
根据http协议,在http头部中有一个字段叫referer,它记录了该http请求的来源地址。如果referer记录的不是同一个浏览器的请求,那么久可能是攻击者伪造的恶意链接,可以根据此方法来防范CSRF攻击
更多推荐