目录
0x01:什么是越权
越权访问漏洞指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,可以利用一些方式绕过权限检查,访问或者操作到原本无权访问的高权限功能,在实际的代码审计中,这种漏洞往往很难通过工具进行自动化监测,因此在实际应用中危害很大。其与未授权访问有一定差别,目前存在着两种越权操作类型,横向越权操作(水平越权)和纵向越权操作(垂直越权)
水平越权:指相同权限下不同的用户可以互相访问
垂直越权:指使用权限低的用户可以访问到权限较高的用户
水平越权测试方法:主要通过看看能否通过A用户操作影响到B用户
垂直越权测试思路:看看低权限用户是否能越权使用高权限用户的功能,比如普通用户可以使用管理员的功能。
0x02:越权测试过程
把握住传参就能把握住逻辑漏洞的命脉
越权测试:
登录用户A时,正常更改或者是查看A的用户信息,然后抓取数据包,将传参ID修改为其他用户,如果成功查看或者修改了同权限其他用户信息就属于水平越权测试(如果可以影响到高权限用户就是垂直越权)
传参ID需要自己检测(例如:uid= id= user=等)通常使用burp进行爆破传参(传参可能在get post cookie)
常见平行越权:
例如:
不需要输入原密码的修改密码
抓包改用户名或者用户id修改他人密码
修改资料的时候修改用户id
查看订单的时候,遍历订单id
0x03:常见越权漏洞
1.通过修改get传参来进行越权:
国航某网站可越权访问其他订单/涉及70W左右
http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0205340
2.通过修改post传参来进行越权:
暴风某站平行越权(用户敏感信息泄露)
http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0207583
3.通过cookie传参来进行越权
宜信某平台多处越权及任意用户登录
https://www.uedbox.com/post/12566/
抓取参数可以在浏览器、app、应用程序(exe)
还有一类叫做未授权访问,严格意义上这个不属于越权漏洞,但是在日常测试中常常会遇见。即只要输入正确的网址就可以访问,例如admin默认是登录,登录后跳转到user.php,然后你直接访问user.php,发现你直接有后台的权限。
未授权访问产生的原因是因为开发在后台代码中没有验证用户状态(是否已经登录,例如可以通过isset($_SESSION['username'])来判断用户是否是登录状态)
http://wy.zone.ci/bug_detail.php?wybug_id=wooyun-2016-0189174