SRC挖掘实战 | JS中能利用的那些信息

admin 2024年5月24日22:15:24评论29 views字数 2414阅读8分2秒阅读模式

SRC挖掘实战 | JS中能利用的那些信息

点击星标关注公众号,不再迷路~

SRC挖掘实战 | JS中能利用的那些信息

原文转载自己在Freebuf上面的投稿,链接:https://www.freebuf.com/articles/web/394873.html

知识大陆帮会HackingWiki渗透感知已上线

SRC挖掘实战 | JS中能利用的那些信息

一、前言

SRC挖掘的渗透测试中,在遇到陌生的系统时可能会手足无措,但是可以根据js进行思维发散,最后发掘业务上面的漏洞。比如寻找js中和漏洞间接有关的信息:配置信息、接口路径、账号密码等。

下面根据我实战中遇到的js中的信息进行分享和归类。

二、思路历程

通过网页的前端js,我们可以从以下几个方面入手寻找可以间接利用的信息。

加解密方法

"救赎之道,就在其中“,遇到登录框却发现账号密码被加密了无法进行暴力破解,这时候可能加解密方法就在js中写着。

尝试搜索关键字password、encode等关键字,找到关键代码进行断点追踪。

在挖掘中遇到不止一次,如下示例对js下断点:

登录方法为handleLogin

SRC挖掘实战 | JS中能利用的那些信息

可见密码被加密了,像是md5却解不开

SRC挖掘实战 | JS中能利用的那些信息

追踪handleLogin方法,可见密码的加密方法为密码+"_IntSig",再进行md5加密

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

追踪a()方法,调用的就是md5加密

SRC挖掘实战 | JS中能利用的那些信息

测试加密后和结果一致

SRC挖掘实战 | JS中能利用的那些信息

Api key泄露

一些系统在定位、或者调用资源时,可能利用了第三的api key,所以js中也会存在地图key、oss key等敏感信息

主要遇到的有以下两类:

泄露地图key

如下系统在js中写明了百度地图的api key值,在没有配置调用白名单时可以直接进行接管调用

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

另外还有在js中泄露高德地图api key的情况等

SRC挖掘实战 | JS中能利用的那些信息

也是可以直接接管调用

SRC挖掘实战 | JS中能利用的那些信息

类似这些地图api key泄露,也是可以提交src的。有多有少,基本100r左右一个漏洞

SRC挖掘实战 | JS中能利用的那些信息

泄露云主机key

Js中还会泄露云主机的accesskey和secretkey,造成云主机被接管,执行任意命令等,实战中遇到的也不少。

如下示例就在js中泄露了key值对:

SRC挖掘实战 | JS中能利用的那些信息

直接登录第三方平台,进行接管

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

选择其中一台进行接管

SRC挖掘实战 | JS中能利用的那些信息

此外还能使用AliCloud-tools等工具,直接让云主机执行命令SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

选择其中一条Windows的实例执行ping命令验证

SRC挖掘实战 | JS中能利用的那些信息

验证成功

SRC挖掘实战 | JS中能利用的那些信息

同理在其他js中也泄露了同样的ak和sk值,目标多台云主机沦陷,直接被打穿了

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

个人敏感信息

js中还会泄露敏感信息,一般以身f证这类居多,如下示例中就泄露了身f证、学号等信息

SRC挖掘实战 | JS中能利用的那些信息

网页中被unicode编码了,解码看下

SRC挖掘实战 | JS中能利用的那些信息

sentry信息泄露

这是个可能存在漏洞需要关注的点,js中泄露sentry的dsn,可能会造成SSRF漏洞

参考https://www.cnblogs.com/mysticbinary/p/12979368.html

搜索关键字@sentry,可以看到dsn的具体值

SRC挖掘实战 | JS中能利用的那些信息

构造如下请求数据,可以测试目标系统是否存在漏洞,实战中遇到的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配置文件,八九不离十就存在编辑器。SRC挖掘实战 | JS中能利用的那些信息

查看配置文件,获取路径和controller的地址,碰巧还是net版本的,基本可以shell了

SRC挖掘实战 | JS中能利用的那些信息

传shell再连接getshell即可

SRC挖掘实战 | JS中能利用的那些信息

未鉴权的接口

Js中最常见,也是最有可能碰到的一种情况,就是系统未对接口做身份、权限验证,导致直接请求获取到敏感信息

如下面的系统,未授权接口可以直接获取内部的文档

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

还能遍历获取账号和名称等

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

此外还有上传、下载接口,也会出现没有做鉴权的情况

访问接口提示上传文件错误,判断可以上传

SRC挖掘实战 | JS中能利用的那些信息

构造上传数据包,测试可以未授权上传pdf文件等

SRC挖掘实战 | JS中能利用的那些信息

三、结语

本文仅是抛砖引玉,希望能激发各位师傅对网络安全技术的学习与探索,在实战中收获更多经验和知识。

知识大陆帮会同步更新渗透经历文档、漏洞利用研究信息、代码审计、利用工具等

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

SRC挖掘实战 | JS中能利用的那些信息

早鸟价:9.9元永久会员

END

关注HackingWiki漏洞感知

了解更多安全相关内容~

原文始发于微信公众号(HackingWiki漏洞感知):SRC挖掘实战 | JS中能利用的那些信息

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月24日22:15:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SRC挖掘实战 | JS中能利用的那些信息https://cn-sec.com/archives/2774354.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息