首页 安全文摘 渗透测试 正文

利用js文件进行渗透

本文作者:eth10(贝塔安全实验室-核心成员)当我们访问的站点只是一个简单的登录页面时,我们应充分利用涉及到的JavaScript脚本函数或文件。0x01 node js站点(1) 如何判断是JS开发的站查看登录页面的页面源代码是如下图时,那么可以简单判断本站是一个纯JS开发的站。另外可以通过cookie来简单判断,如cookie中有connect.sid

本文作者:eth10(贝塔安全实验室-核心成员)



当我们访问的站点只是一个简单的登录页面时,我们应充分利用涉及到的javascript脚本函数或文件。


0x01 node js站点

(1) 如何判断是JS开发的站

查看登录页面的页面源代码是如下图时,那么可以简单判断本站是一个纯JS开发的站。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第1张

另外可以通过cookie来简单判断,如cookie中有connect.sid这个键,如图所示:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第2张

(2) 查看重要js文件

查看重要文件,一是寻找配置文件,二是查看app.xxx.js文件。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第3张

利用js文件进行渗透 安全文摘 web安全 渗透测试  第4张

(3) 查看js配置文件

通过页面源码可以看到是否存在有js配置文件,如图所示:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第5张

通过逐个访问js配置文件,可以查看到很多敏感信息,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第6张

利用js文件进行渗透 安全文摘 web安全 渗透测试  第7张

通过获取的敏感信息,有时可以直接绕过登录进入到系统中,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第8张

(4) 查看app.xxx.js文件

app.xxx.js文件是系统主文件,里面可以查看到很多接口,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第9张

通过获取的接口信息对应构造请求,如请求方法,header,content-type等。

(5) 构造请求

利用js文件进行渗透 安全文摘 web安全 渗透测试  第10张

访问发现缺少必要参数,继续补充参数

利用js文件进行渗透 安全文摘 web安全 渗透测试  第11张

最终可直接未授权访问到敏感信息,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第12张

对于month格式,app.xxx.js中也有对应接口,如下图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第13张

获取管理员敏感信息

利用js文件进行渗透 安全文摘 web安全 渗透测试  第14张

利用js文件进行渗透 安全文摘 web安全 渗透测试  第15张

继续尝试别的接口

利用js文件进行渗透 安全文摘 web安全 渗透测试  第16张

发现功能树

利用js文件进行渗透 安全文摘 web安全 渗透测试  第17张

尝试功能树中的接口,可以直接获取到管理员加密hash密码,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第18张

(6) 查找接口技巧

这里提供一个简单的方式,直接在浏览器中Ctrl + F进行下列关键字搜索,对于命中的会有颜色标出。也可以使用python进行页面解析一次性提取等。

搜索关键字:

method:"get"
http.get("
method:"post"
http.post("

0x02 Ajax通用接口写法

(1) 查看重要接口

直接查看源码中的script函数,如果发现$.ajax,那么恭喜你找到了部分接口,可能存在未授权访问。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第19张

(2) 构造请求

同样通过获取的接口进行对应构造。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第20张

没什么用,本来就是公开的接口,换一个。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第21张

发现敏感信息,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第22张

还有这种接口。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第23张

对应构造请求,如图:

利用js文件进行渗透 安全文摘 web安全 渗透测试  第24张

获取账户密码等敏感信息,之前留的图,有点不清晰,不用在意细节。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第25张

(3) 查看接口技巧

搜索关键字:

$.ajax
service.httppost
service.httpget

0x03 js加密密码字典生成

当你登录是发现密码是这样的:7ADAB2400D8F864E3EA5F882E124FB17270ADEC2FE75F46C300242FBB0B7D487B505364016E6E555298A3EF48ADD05FB2C93757E8C7317B246366050AA071359

利用js文件进行渗透 安全文摘 web安全 渗透测试  第26张

128位,有没有吓到你,其实不用怕,看看如何将你的明文加密成这个,页面源代码发现加密的密钥信息。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第27张

通过获取的密钥进行构造,通过get传参,然后python批量请求就可以将你手中的明文字典加密成对应的密文了。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第28张

0x04:js登录密码硬编码

如果你登录一个网站时,发现bp抓不了数据包,但是页面提示账户密码错误,那么很大可能密码是写在页面中,通过去js文件中搜索即可获取到账户密码。

利用js文件进行渗透 安全文摘 web安全 渗透测试  第29张

其他:

  1. 文件上传是通过js前端校验的,那么通过bp抓包或者禁用js即可绕过其限制;

  2. 验证码是通过前端校验的,那么通过bp截断即可绕过进行暴力破解

更多案例请参考以下文章:

  • https://www.secpulse.com/archives/35877.html

  • https://zhuanlan.zhihu.com/p/79335206

文由贝塔安全实验室

海报

本文转载自互联网,如有侵权,联系删除

转载请注明本文地址:https://heibai.org.cn/1522.html

相关推荐

从偶遇Flarum开始的RCE之旅

从偶遇Flarum开始的RCE之旅

事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程,请读者勿使用该漏洞进行未授权测试,否则作者不承担任何...

WEB安全 2022-08-21 0 10268

2022年蓝队初级护网总结

2022年蓝队初级护网总结

一. 设备误报如何处理? 答:来自外网的误报说明安全设备需要进行策略升级,不需要处置。如果是来自内网的误报可以和负责人协商一下...

安全文摘 2022-08-21 0 10111

发布评论

ainiaobaibaibaibaobaobeishangbishibizuichiguachijingchongjingdahaqiandaliandangaodw_dogedw_erhadw_miaodw_tuzidw_xiongmaodw_zhutouganbeigeiliguiguolaiguzhanghahahahashoushihaixiuhanheixianhenghorse2huaixiaohuatonghuaxinhufenjiayoujiyankeaikeliankouzhaokukuloukunkuxiaolandelinileimuliwulxhainiolxhlikelxhqiuguanzhulxhtouxiaolxhwahahalxhzanningwennonuokpinganqianqiaoqinqinquantouruoshayanshengbingshiwangshuaishuijiaosikaostar0star2star3taikaixintanshoutianpingtouxiaotuwabiweifengweiquweiwuweixiaowenhaowoshouwuxiangjixianhuaxiaoerbuyuxiaokuxiaoxinxinxinxinsuixixixuyeyinxianyinyueyouhenghengyuebingyueliangyunzanzhajizhongguozanzhoumazhuakuangzuohenghengzuoyi
感谢您的支持