0x0前言
此次案例来自一个互联网医院厂商,在就诊人管理处找到cookie越权,可越权查看其他用户的就诊人信息,后又发现在就诊人管理功能的上方的我的预约处有同样的问题
因为cookie越权在学习越权时虽然学过,但确实个人而言少见,故记下案例
0x1细节
漏洞点:
url:xxxx/user/weihu.html
一开始测试的是修改和删除功能是否有越权
测完后想测一下能否越权查看的时候,通过抓包发现,获得就诊人信息并非通过发送带用户身份标识ID的POST/GET包,而是直接请求该页面后返回就诊人信息,且请求包中无GET/POST数据传输,故怀疑用户身份标识ID在cookie中
下为请求包
GET /user/weihu.html HTTP/1.1 Host: xxxxxxxxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Referer: xxxxxxxxxx Cookie: money=0; picurl=; pid=用户身份标识ID; username=xxxxx; DomainName=xxxxx; nickname=P******; verify=2584998616; onlineId=0 Upgrade-Insecure-Requests: 1
经过两个账号测试,pid为用户身份标识ID
因为有两个账号,所以通过观察,发现pid生成规律疑似<某四位数字+任意四位数字>
故尝试枚举,在枚举出一个有效pid后停止
确实存在利用的可能性
后经过测试,在我的预约处同样可以替换pid越权查看其他用户的预约
0x3总结
在测试越权中
如果发现并非通过发送带用户身份标识ID的POST/GET包获取信息
如:
GET /user/weihu.html?pid=xxxx HTTP/1.1 POST /user/weihu.html HTTP/1.1 ...... ...... pid=xxxx
则可尝试测试cookie中的越权