我这一生如履薄冰,你说我能走到对岸吗?
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>中的用户名也是同上一题一样, 可以达到任意用户的目的。
0x03、Insecure DOR (Order Tickets)
模拟了一个下单的功能:
仔细观察HTML源码, 发现票的单价放在在前端:
Low
修改ticket_price的价格为0,从而可以实现0元购
Medium&High
这时候票的单价就定义在服务端了, 而不是交给前端, 安全得多:
声明
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。
原文始发于微信公众号(儒道易行):【bWAPP】越权攻防实战
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论