Parameter is null引发的一次五千漏洞赏金记录
2023-12-25 10:43:50 Author: mp.weixin.qq.com(查看原文) 阅读量:4 收藏

0x01 前言

Missing parameter?Parameter is null?一次众测实战教你如何高效的找出缺少的参数。

0x02 漏洞背景

一次众测项目,称其为https://uctenter.target.com。

0x03 漏洞挖掘过程

前期通过信息收集,找到一处目录organization 状态码返回302,跳转到https://uctenter.target.com/organization/#/,熟悉的空白页面。直接翻js,正则匹配目录,拼接到url后面爆破,全部返回401。

将其匹配的目录导入到excel,使用/为分割符号进行分列,将其分列后的所有参数保存为字典,导入burp继续爆破。其中一处orgapi目录返回302,跳转到https://uctenter.target.com/orgapi/。

熟悉的spingboot界面,掏出珍藏的springboot字典,/orgapi/..;/v3/api-docs返回大量接口。继续上续操作,匹配接口,拼接在orgapi/..;/后进行爆破,发现多个接口未返回身份认证失败,说明已经成功绕过身份认证,但是未发现敏感信息。

观察接口信息,发现其中一个接口带有selectuser字段,返回报文为parameter is null。使用Arjun进行参数爆破

使用Arjun自带的字典爆破无果,使用正则将https://uctenter.target.com/organization/#/中的js文件所有单词匹配出来构造字典,去重,大概五万多个。为什么推荐使用arjun进行爆破,假如有一万个参数,正常爆破会发送一万条报文,Arjun会将一万个参数分为25个组合,一个组合为400参数,第一次发送25次请求,只要其中25次请求中,里面有一个参数正确,便会返回不同的响应长度,以此类推,继续分割直到剩下一个参数。

正常使用burp或者其它软件进行爆破,需要发送五万个请求,使用Arjun可发送不到3000个请求。

发现其中一个参数searchId返回不同的响应长度。通过其id值可遍历此厂商所有人员的用户名密码,身份证号码,手机号。

通过前面获取的code值可获取所有人员的家庭住址。

0x04 厂商反馈

获得了最高赏金五千。

如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款


往期回顾

xss研究笔记

SSRF研究笔记

dom-xss精选文章

2022年度精选文章

Nuclei权威指南-如何躺赚

漏洞赏金猎人系列-如何测试设置功能IV

漏洞赏金猎人系列-如何测试注册功能以及相关Tips


文章来源: https://mp.weixin.qq.com/s?__biz=MzIzMTIzNTM0MA==&mid=2247493119&idx=1&sn=883a1a5af0ffbcd4a82e25db5887338e&chksm=e8a5ef9cdfd2668a031a12c79a7151854a476c2873c36838991d2879e9a3621117c3e9e1000e&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh