【漏洞场景】某个功能点可以删除有时效性的虚拟环境,然而替换ID可以删除其他用户已部署的环境,介于时效性限制,后来通过编写脚本可影响未来所有用户的环境部署和使用,成功升级危害
挖SRC时,总能遇到资产范围很大的情况,那么多域名,是不是总觉得很难快速筛选一个防御薄弱的目标?
我是这样处理的,如果一个域名下有CORS配置错误这类简单小洞,大概率防御力度不强,应该还有其他危害更大的洞。
本文就是遇到了这样一个有意思的子域名,挖到了2个IDOR,共1500刀,话不多说,让我们进入正题!
1. 选择一个有意思的域名,搜集URL和功能点探测后,进行dirsearch路径爆破,幸运得到新路径,访问发现网页如下
2. 根据参数复用,搜集已有参数进行Fuzz得到一个参数与ID相关,但不确定ID的值,利用Burp的全局搜索发现历史记录中的ID,其参数值是一个数字,尝试加上参数及其值,访问完整URL,成功获取对应部署环境者的邮箱!
3. 测试多次部署环境,发现ID是以1为步长增长的数字,而且是近期有效的,可以进行ID-100到ID的遍历
4. 不断抓包和了解网站业务,发现环境部署有两种,猜测双参数作用,故而进行组合Fuzz参数,发现还有sourcetype可设置部署环境的类型,且默认不加sourcetype参数时为第一种环境类型
5. 提交漏洞后,思考是否会有第二个IDOR?毕竟写代码的是同一批人,总有类似的漏洞。而如何再赚750刀?这是一个思维转变的开始
6. 这个ID是有时效性的,除了近期以往的,还可以随时监控将要开启的环境对应情况,也就是影响未来的,但还差点什么?
7. 在同一域名下,曾测试取消部署的时候,发现也有这个ID,全局搜索发现的,尝试替换ID是否会取消ID对应的部署环境,发现可行,如何组合使用呢?
8. 首先,部署抓包获取最新的ID,Cookie,还有Token;其次,通过脚本监控下一个ID,一旦出现,先判断是哪一种环境类型被部署;最后,发送POST请求包取消此ID对应的环境部署,导致未来所有用户不能正常使用功能。
9. 至此,思路清晰,编写脚本如上,运行并发现成功实现所有用户无法正常使用网站主功能,最终审核通过,各得750刀,共1500刀≈1万元
a. 如果参数名爆破出来,但不知道具体参数值的时候,除了猜测和爆破,可以使用Burp - Site Map的全局搜索,说不定已经搜集到合适的参数值
b. 在爆破出参数名后,考虑有几率是双参数组合作用,先尝试寻找此参数在其他请求包的组合参数,实在不行再进行二次爆破
c. 遇到有时效性的IDOR,如一次部署是24-48h这样的有效期,可以采用影响未来用户的操作来提升危害
本公众号ForOne安全的文章主打原创,不翻译,无照搬,属实手动自写,案例来自SRC实战,感谢师傅们的关注与支持!
由于传播or利用本公众号ForOne安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任!
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读