0x01 前言
前端JS源码往往隐藏着未授权接口、敏感信息泄露等漏洞。本文结合实际案例,系统讲解如何通过审计JS文件挖掘高价值漏洞,从SQL注入到地图Key泄露,再到文件下载,探索手工渗透的魅力与技巧。
参考文章:https://xz.aliyun.com/news/16886
现在只对常读和星标的公众号才展示大图推送,建议大家把渗透安全HackTwo“设为星标”,否则可能就看不到了啦!
末尾可领取挖洞资料文件 #渗透安全HackTwo
0x02 漏洞详情
当拿到网站,但是又不知道密码,目录扫描也扫不出有效的信息时,我们可以从前端JS源码入手,找找是否有可以利用的点,或者未授权的接口从而一步一步扩大危害,拿到系统源码或者用户信息等。
SQL注入
登录框开局必出货查看前端源码,发现Identity_Get接口,且存在userid和researchid参数
访问该接口抓包,使用burp进行测试,通过单引号重放发生报错
SQLMAP直接一键梭哈命令
python sqlmap.py -u "http://ip/Api/xxx/xxx/xxx/Identity_Get?USERID=1&RESEARCHID=1" --batch --risk 3
Oracle数据库
查询当前数据库用户
python sqlmap.py -u "http://ip/Api/xxx/xxx/xxx/Identity_Get?USERID=1&RESEARCHID=1" --batch --risk 3 --current-user
地图key泄露
这个KEY泄露虽然很常见,能够直接被API接口调用
此key有效
文件下载一
访问网站打开插件查看接口信息,发现/xxx/xxx/zipDownload,以看这种就有戏啊
访问连接,通过提示信息输入path和type参数
直接目录遍历下载
https://ip/xxx/xxx/zipDownload?type=1&path=/../../../../../../..//etc/passwd
发现shadow密码文件也可以进行下载,猜测网站用户为root权限
后面就是FUZZ下源码,或者SSH私钥登录,直接拿下shell,美滋滋
文件下载二
访问网站,打开熊猫插件发现一个export的接口
直接使用目录穿越,可把整个网站打包下来,包括数据库备份信息,源码甚至是中间件
http://ip/xxx/Opt/export?path=../../
信息泄露
这个其实危害感觉不大,只泄露了用户名,手机号等一些信息,但是这个网站SRC的,所以有赏金
查看前端const.js文件,发现两个管理员用户信息
直接在找回密码处输入用户名密码,获取到手机号信息如下图1:
如下图2:
只有两个账号,泄露的东西也不多
不借助抓包工具如何挖到漏洞
渗透工具是这场网络安全探险不可或缺的“飞船”与“武器”,然而,无需借助工具,直接对网站进行渗透还是比较有挑战性的,最近一个星期基本都是这样,拿手机渗透,或者打开电脑一个浏览器打遍天下。
手工测试
打开网站,发现图片直接右键新建连接
直接把png文件图片取消进行访问,目录浏览直接拿下
像上述这种存在目录浏览,一般情况下网站还有,这里直接通过搜索相关接口,直接发现另一个接口image_data,直接访问发现同样进行目录浏览,就是这么容易
这里另一个网站,同样是如上述一样试了一下目录浏览,但是没有成功,那么这里直接就搜索相关接口如/api,/upload啥的,基本都可能存在漏洞,这里直接搜索/api,发现还是比较多接口的
这里挨个进行查看,发现一个_Get接口
直接访问发现需要传入两个参数,像这种情况直接提示的你可以直接传参就可以了,如果没有传参的话你可以去找找js文件里面有没有相应的代码,再不济就借助工具爆破一下接口也行
这里传入接口直接添加单引号发现保存了
那再添加一个单引号,发现直接进行闭合,哈哈哈,注入不就来了
这里直接用sqlmap测试,也不管工不工具了,测试出漏洞才是真的,哎嘿。
直接验证成功,数据为Oracle
再跑下用户名也是没有问题的,这个完全就是没有防护嘛
这里还有另外的接口同样存在Sql注入,就不一一测试了
这个如果不借助工具的情况运气也得有,不然还真发现不了,我直接在网站后面任意拼接几个常用的参数,发现upload成功了,而且直接回显hhh
更神奇的是后面还有一个.svn文件泄露
而且通过测试发现这个网站系统还是一个通用型漏洞,捡到了,hhh
这个还是目录浏览并且也是通用型,不过需要登录进去才能发现那个网站,这里先登录进去后发现有一个可能点可以下载xls文件,而且鼠标悬浮上去发现是跳转至另一个网站进行下载。
直接复制xls连接,另外打开一个窗口进行访问,发现成功访问,又是目录浏览了
且xls连接文件也是直接下载
这个也是一个通用型漏洞,只要使用这个系统都有,直接打开网站源码查看即可发现存在key
网上直接找payload,访问成功回显位置,说明key是正确的
restapi.amap.com/v3/geocode/regeo?key=55208xxxxxxxxx1271&s=rsv3&location=116.434446,39.90816&callback=jsonp_258885_&platform=JS
0x03 总结
原文始发于微信公众号(渗透安全HackTwo):仅靠JS审计就能捡到的漏洞 前端代码中的隐藏利用点|挖洞技巧
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论