0x01 前言
作为一个拿着几 K 工资的安服仔,某一天上级给了一个网站需要挖挖洞。客户不愿意提供测试账号,通过其他位置拿到账号规则,然后进行爆破的时候把账号都锁了,因此还被投诉了。记录一下一天的漏洞挖掘过程,过程有点啰嗦。
0x02 干活
拿到目标,通常先扫一下端口
访问目录提示 404
三大搜索引擎和github都没找到相关网站的信息,这个时候只能先下扫目录了
发现 net 版本的 ueditor ,还以为能 shell 了,访问发现报错了,问了一下大佬说可能需要登录。
看到了网站的绝对路径,二话不说先写个低危报告。
访问 wap 目录,需要在微信打开
在微信打开,提示要关注企业号,没找到企业号。
访问目录的时候有一个跳转过程,在还没跳转之前先暂停。发现使用了 webpack
F12
--> 源代码
发现可以看到 webpack:// ,可以直接在这看 JS ,也可以还原出来在本地看
webpack 还原代码
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 条员工信息
SQL注入
手工把几个参数都尝试一遍,没 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 --> 构造请求 --> 捡到漏洞
福利视频
笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品
https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374
技术交流
技术交流请加笔者微信:richardo1o1 (暗号:growing)
如果你是一个长期主义者,欢迎加入我的知识星球(优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
往期回顾
原文始发于微信公众号(迪哥讲事):记一次由js突破发现的漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论