漏洞思路分享-水平越权
不秃头的安全
记一次外出渗透项目的水平越权漏洞记录分享,本人安全技术的一名小学生,仍在学习中,大佬有意见可指点,不喜勿喷,感谢指点!!!
1 漏洞描述
由于应用系统中Id参数可控并未经校验导致信息被越权修改,攻击者可通过遍历Id参数批量删除、更改其他用户数据。
2 漏洞记录
(1).一个服务购物平台,首先创建了两个账户分别为cs1与cs,
页面中加入购物车,burp拦包后看到账户
cs1的userId=ef49e5124fc44ab38701566
2f6fb8195、账户cs的userId=497b596cd042
419583e8cfb7b94b6eac,在看到这里时想到的就是能否去实现水平越权操作,
用户为cs1,添加商品数量为3,添加购物车拦包将userid值改为用户cs的userid,放包,
放包后发现userid为原测试账户cs1的,再次更改为cs的userId放包,页面显示添加成功,
发现原用户cs1购物车中没有商品,
而用户cs的购物车中出现该商品数量为3。
(2).无独有偶,也是一个综合服务平台,但是和上面有一点不太一样的地方是这里不仅修改了id值,还将返回错误的500和false修改成正确响应码的状态码200及true信息,下面是具体记录,涉及敏感信息就打了厚码。
刚开始客户给了两个账户分别为test2、test3,
test2的id值为14e6d3b9a3bc43ca90338ac9ad5f04b8,test3的id值为a726c28802744d17bc2df108
f36adafc,
在test3个人信息修改账户处随意输入为test5并抓包,
并修改test3的id值为test2的id值后,拦截返回包请求,当看到这里时明显就一种感觉可以水平越权成功,不要问是为什么可能就是第六感(手动狗头)
修改返回包中信息为200、true、修改成功,放包,
在登录处使用原来用户名test2登录发现用户名不存在,使用test5可以登录,
使用用户名test5,原密码可直接登录原test2账户,登录成功。
3 解决方案
在进行每个敏感操作时判断用户登录状态和权限,避免越权修改信息。
4文末闲谈
感谢各位大佬们关注-不秃头的安全,本账号为新起公众号,后续会坚持更新渗透漏洞思路分享、安全测试、好用工具分享以及挖掘SRC思路等文章,同时会组织不定期抽奖,希望能得到各位的关注与支持。
编辑:MY0723
审核:黑道饺子