0x01 前言
作为一个拿着几 K 工资的安服仔,某一天上级给了一个网站需要挖挖洞。客户不愿意提供测试账号,通过其他位置拿到账号规则,然后进行爆破的时候把账号都锁了,因此还被投诉了。记录一下一天的漏洞挖掘过程,过程有点啰嗦。
0x02 干活
拿到目标,通常先扫一下端口
访问目录提示 404
三大搜索引擎和github都没找到相关网站的信息,这个时候只能先下扫目录了
发现 net 版本的 ueditor ,还以为能 shell 了,访问发现报错了,问了一下大佬说可能需要登录。
看到了网站的绝对路径,二话不说先写个低危报告。
访问 wap 目录,需要在微信打开
在微信打开,提示要关注企业号,没找到企业号。
访问目录的时候有一个跳转过程,在还没跳转之前先暂停。发现使用了 webpack
F12
--> 源代码
发现可以看到 webpack:// ,可以直接在这看 JS ,也可以还原出来在本地看
https://github.com/SunHuawei/SourceDetector
方法二:
# 安装 reverse-sourcemap
npm install --global reverse-sourcemap
# 下载 *.js.map (右键查看源代码,找到 js ,在 js 后面加上 .map)
curl -O https://127.0.0.1/*.js.map
# 使用 reverse-sourcemap
reverse-sourcemap --output-dir ./test xxx.js.map
# 得到 JS
发现这是通行码的二维码 bas64 编码的图片,可以通过这个通行码到门岗处领取访客卡
创建一个 html ,使用 img 标签成功得到二维码
成功获取到 3568 条员工信息
手工把几个参数都尝试一遍,没 waf 没什么难度。看长度证明漏洞
第二个注入
通过手工把上面的参数都测试一遍,一开始没发现什么。当在 ProcLnstID 使用运算符的时候发现漏洞
ProcLnstID=1/1 返回正常
ProcLnstID=1/0 返回错误
构造请求,发现只能上传图片,又一次与getshell无缘
burpsuite 右键 点击 change body encoding ,从post 转成 form-data ,在 Content-Dispostition: 加上 name="file" 就可以成功上传了
发现图片查看的 JS
一开始先测试一下 SSRF ,报错了。然后尝试读取文件,成功读取
0x03 总结
大概流程:拿到目标 --> 扫端口 --> 扫目录 --> 发现webpack --> 查看 JS --> 构造请求 --> 捡到漏洞
没什么技术含量,再会....
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推 荐 阅 读