点击星标关注公众号,不再迷路~
原文转载自己在Freebuf上面的投稿,链接:https://www.freebuf.com/articles/web/394873.html
知识大陆帮会HackingWiki渗透感知已上线
一、前言
SRC挖掘的渗透测试中,在遇到陌生的系统时可能会手足无措,但是可以根据js进行思维发散,最后发掘业务上面的漏洞。比如寻找js中和漏洞间接有关的信息:配置信息、接口路径、账号密码等。
下面根据我实战中遇到的js中的信息进行分享和归类。
二、思路历程
通过网页的前端js,我们可以从以下几个方面入手寻找可以间接利用的信息。
加解密方法
"救赎之道,就在其中“,遇到登录框却发现账号密码被加密了无法进行暴力破解,这时候可能加解密方法就在js中写着。
尝试搜索关键字password、encode等关键字,找到关键代码进行断点追踪。
在挖掘中遇到不止一次,如下示例对js下断点:
登录方法为handleLogin
可见密码被加密了,像是md5却解不开
追踪handleLogin方法,可见密码的加密方法为密码+"_IntSig",再进行md5加密
追踪a()方法,调用的就是md5加密
测试加密后和结果一致
Api key泄露
一些系统在定位、或者调用资源时,可能利用了第三的api key,所以js中也会存在地图key、oss key等敏感信息
主要遇到的有以下两类:
泄露地图key
如下系统在js中写明了百度地图的api key值,在没有配置调用白名单时可以直接进行接管调用
另外还有在js中泄露高德地图api key的情况等
也是可以直接接管调用
类似这些地图api key泄露,也是可以提交src的。有多有少,基本100r左右一个漏洞
泄露云主机key
Js中还会泄露云主机的accesskey和secretkey,造成云主机被接管,执行任意命令等,实战中遇到的也不少。
如下示例就在js中泄露了key值对:
直接登录第三方平台,进行接管
选择其中一台进行接管
此外还能使用AliCloud-tools等工具,直接让云主机执行命令
选择其中一条Windows的实例执行ping命令验证
验证成功
同理在其他js中也泄露了同样的ak和sk值,目标多台云主机沦陷,直接被打穿了
个人敏感信息
js中还会泄露敏感信息,一般以身f证这类居多,如下示例中就泄露了身f证、学号等信息
网页中被unicode编码了,解码看下
sentry信息泄露
这是个可能存在漏洞需要关注的点,js中泄露sentry的dsn,可能会造成SSRF漏洞
参考https://www.cnblogs.com/mysticbinary/p/12979368.html
搜索关键字@sentry,可以看到dsn的具体值
构造如下请求数据,可以测试目标系统是否存在漏洞,实战中遇到的sentry次数也很多,但是没有遇到漏洞的版本
POST /api/1/store/?sentry_version=7&sentry_client=raven-js%2f3.15.0&sentry_key=【sentry的dsn key】 HTTP/1.1
Host: XXXX
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Language: zh-CN,zh;q=0.9
Content-type: application/json
Origin: XXXX
Content-Length: 329
{"project":"30","logger":"javascript","platform":"javascript","exception":{"values":[{"type":"Error","value":"Trying to get control scope but angular isn't ready yet or something like this","stacktrace":{"frames":[{"filename":"http://【 dnslog地址】","lineno":110,"colno":81071,"function":"XMLHttpRequest.o","in_app":true}]}}]}}
编辑器配置文件
在常见的富文本编辑器中,ueditor是经常被getshell的那一个。
一般看见ueditor的js配置文件,八九不离十就存在编辑器。
查看配置文件,获取路径和controller的地址,碰巧还是net版本的,基本可以shell了
传shell再连接getshell即可
未鉴权的接口
Js中最常见,也是最有可能碰到的一种情况,就是系统未对接口做身份、权限验证,导致直接请求获取到敏感信息
如下面的系统,未授权接口可以直接获取内部的文档
还能遍历获取账号和名称等
此外还有上传、下载接口,也会出现没有做鉴权的情况
访问接口提示上传文件错误,判断可以上传
构造上传数据包,测试可以未授权上传pdf文件等
三、结语
本文仅是抛砖引玉,希望能激发各位师傅对网络安全技术的学习与探索,在实战中收获更多经验和知识。
知识大陆帮会同步更新渗透经历文档、漏洞利用研究信息、代码审计、利用工具等
早鸟价:9.9元永久会员
END
关注HackingWiki漏洞感知
了解更多安全相关内容~
原文始发于微信公众号(HackingWiki漏洞感知):SRC挖掘实战 | JS中能利用的那些信息
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论