记渗透测试中遇到的一个横向越权漏洞
最近在渗透测试过程中遇到一个很典型的也蛮有意思的横向越权漏洞,记录下我的利用过程。
越权简介:
越权漏洞可以分为两类,横向越权和纵向越权;
- 横向越权:同一等级的用户可以相互访问、修改未授权资源。如A用户通过修改URL中的用户名查看到了B用户的个人信息,并成功修改。A用户通过遍历邮件编号查看到了B用户的邮件内容等。
- 纵向越权:普通用户能否进入当前角色、权限所不能进入的功能,执行比当前用户角色权限较高用户(如:管理员)权限的操作。
- 容易出现越权的地方:例如查看、修改个人信息。查看订单等等。尤其在实际测试过程中,如果遇到用户ID、订单ID、用户名等作为参数请求服务器,就可以尝试遍历用于ID等看是否可以成功获取信息。
一次横向越权分享:
- 首先,拿到某网站,我们可以进行注册,但是注册时需要身份证号码等敏感信息,(此处随便在网上找了个号码)注册成功。
- 注册成功后,存在查看个人信息的功能页面,在此处进行抓包,通过抓包分析,发现这里的查看个人信息是通过post了一个memberID的参数,且回包中包含了所有用户信息的json字段(手机号、身份证号码等)。
- 尝试修改memberID看是否存在横向越权;(这里有个坑就是,他的memberID并不是连续的数字,而是根据注册的时间等有一定的规律,当然我并没有掌握规律,于是尝试使用burp的intruder暴破),顺利的发现可以成功看到别的用户的敏感信息。
- 写脚本看是否可以成功爬取数据,很简单的Python脚本,主要是为了处理response中json数据,所以就不贴代码了。
- 贴一下脚本跑出来的部分数据。