安全运维笔记


越权漏洞

<h4><strong>越权漏洞</strong></h4> <p>自动化检测工具:<a href="https://github.com/ztosec/secscan-authcheck">https://github.com/ztosec/secscan-authcheck</a></p> <h4>(1)水平越权</h4> <p>水平越权常见于业务系统中,对用户信息或者订单信息进行增删改查操作时,由于用户编号或者订单编号有规律可循(有序递增,订单编号常发现以日期开头后面再接几位有序增长的数字,类似20200520xxxx1,20200520xxxx2),测试人员通过burpsuite的 intruder对目标参数进行遍历测试即可 <img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/43c806aa3d5f005efd376df922e0a4e8?showdoc=.jpg" alt="" /></p> <h4>(2)垂直越权</h4> <p>日常安全测试时,大多发现是未授权访问和水平越权。只碰到过一次将cookie中的isadmin=0改为isadmin=1,获取到管理员权限。苦于黔驴技穷,有幸某天灵光一现,想到测试任意文件上传和下载漏洞时,都能借助../和./进行绕过,垂直越权时,何不也尝试借助../和./进行绕过呢,最终果然发现新大陆。最后经过反复测试发现以下几种垂直越权测试方法。   <a href="http://www.xxxx.com/admin//admin.do">http://www.xxxx.com/admin//admin.do</a>   <a href="http://www.xxxx.com/admin/admin.do%23">http://www.xxxx.com/admin/admin.do%23</a>   <a href="http://www.xxxx.com/js/../admin/admin.do">http://www.xxxx.com/js/../admin/admin.do</a>   <a href="http://www.xxxx.com/admin/./admin.do">http://www.xxxx.com/admin/./admin.do</a></p> <h4>(3)未授权</h4> <p>最简单直接的测试方法是:不登录用户账号,直接访问要测试的功能模块(正常情况是需要登录才能访问),如果能正常访问,则说明存在漏洞。   修改返回包的测试方法:日常测试时,有些开发人员在前端校验返回包中某个参数的值,在返回包中有类似status=false的值,可将改为status=true(也有碰到过code=-1改为code=0或者1的情况);遇到过最奇葩的一次是:不登录账号直接访问那个系统的后台首页index.html时,返回包主体中通过js脚本,通过script和location跳转到登录页面login.html,通过burpsuite拦截响应表,再将那段用于页面跳转的js脚本删除,就能进入后台。(虽然这种修改返回包的方法最后也没有登录账号,但是进入后台后,能访问一些内部公共的敏感功能模块和信息)。   部分系统,用户信息并不是从sessionid中获取登录账号;而是在cookie中添加一个类似userid的键值对,再从中识别用户。从而可以尝试通过cookie伪造的方法进行测试。</p>

页面列表

ITEM_HTML