7.bWAPP -- INSECURE DIRECT OBJECT REFERENCES
2023-1-30 15:26:0 Author: xz.aliyun.com(查看原文) 阅读量:20 收藏

0x01、Insecure DOR (Change Secret)

同 XSS - Stored (Change Secret)

Low

仔细观察页面, 发现隐藏一个input标签, 作用是输入用户名, 并且配合提交的修改密码, 完成修改用户密码的操作:

这里就可以利用该用户名input标签达到修改任意用户密码的攻击,

修改login的input标签类型(type)为text:

然后就可以修改任意用户的密码了:

Medium&High

使用了随机生成的token验证当前login 的用户:

0x02、Insecure DOR (Reset Secret)

观察HTML源代码, 发现按钮有一个JS事件:

事件代码为:

function ResetSecret()
        {
            var xmlHttp;
            // Code for IE7+, Firefox, Chrome, Opera, Safari
            if(window.XMLHttpRequest)
            {
                xmlHttp = new XMLHttpRequest();
            }
            // Code for IE6, IE5
            else
            {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlHttp.open("POST","xxe-2.php",true);
            xmlHttp.setRequestHeader("Content-type","text/xml; charset=UTF-8");
            xmlHttp.send("<reset><login>bee</login><secret>Any bugs?</secret></reset>");
        }

观察到<reset>中的用户名也是同上一题一样, 可以达到任意用户的目的。</reset>

0x03、Insecure DOR (Order Tickets)

模拟了一个下单的功能:

仔细观察HTML源码, 发现票的单价放在在前端:

Low

修改ticket_price的价格为0,从而可以实现0元购

Medium&High

这时候票的单价就定义在服务端了, 而不是交给前端, 安全得多:

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。


文章来源: https://xz.aliyun.com/t/12086
如有侵权请联系:admin#unsafe.sh