时间轴
主要内容
JS前端架构—手工搜索分析
JS前端架构—半自动Burp分析
JS前端架构—自动化项目分析
知识点
JS前端架构—识别&分析
JS前端架构—开发框架分析
JS前端架构—打包器分析
JS前端架构—提取&FUZZ
解决问题:
1、如何从表现中的 JS 提取价值信息
2、如何从 JS 开放框架 WebPack 进行测试
3、如何从地址中 FUZZ 提取未知的 JS 文件
JS介绍
js渗透测试简介
js安全问题
流行的js框架
Vue、NodeJS、jQuery、Angular 等
简单判定JS开发应用的方法
获取更多JS文件的方法
寻找js演示案例方法:
如何判断是vue.js还是php?
使用wappalyzer去识别,php代码是讲将代码放于后端。vue.js是放置于前端。
JS前端架构—手工搜索分析
优点:分析精准
缺点:分析时间长,分析起来麻烦
手工分析模式:
1.先用network。2.用wappalyzer查看框架。3.只看js(vue.js)。4.看admin/login等这种。5.ctrl + shift +f 搜索获取价值信息。
快速获取价值信息
src=
path=
method="get"、method="post"
http.get("、http.post("
$.ajax
http://service.httpget
http://service.httppost
演示案例:
1、找到一个可测试登录平台(用户登录-滕州城建集团),先用Wappalyzer分析出是vue.js框架:
2、F12抓取网络数据包,选取js类型的文件,并在最下方搜索关键词:
3、部分搜索出来的代码还需要进行换算分析,才能得到有用的url。(人工分析需要代码基础)
如图:先搜索$.ajax
根据上文url在此搜索Service,得到访问地址。
JS前端架构—半自动Burp分析
优、缺点:是手工搜索分析和自动化项目分析的综合,分析时间较短,分析较精准
半自动分析模式:
1.打开BP(电脑开启代理)。
2.1Target——Site map——Engagement tools——Find Scripts(自带功能)
2.2Js Link Finder/Js Mine(Extender->BApp store)(官方插件)
2.3在Extention里安装HAE(第三方插件)
演示案例:
自带功能:
1、还是用上面那个平台进行演示,Burp开启代理后抓包,按如下步骤操作:
2、可以看到在访问网站时,会触发哪些东西,访问哪些路径:
官方插件
JS Link Finder & JS Miner
安装方式:
Extender——BApp Store——JS Link Finder & JS Miner——Installing
第三方插件:
Unexpected_information:
https://github.com/ScriptKid-Beta/Unexpected_information
用来标记请求包中的一些敏感信息、JS接口和一些特殊字段,防止我们疏忽了一些数据包,使用它可能会有意外的收获信息。
HaE:
https://github.com/gh0stkey/HaE
https://raw.githubusercontent.com/ghOstkey/Ha E/gh-pages/Config.yml 基于BurpSuite插件JavaAPI开发的请求高亮标记与信息提取的辅助型插件。该插件可以 通过自定义正则的方式匹配响应报文或请求报文,可以自行决定符合该自定义正则匹配的相应请求是否需要高亮标记、信息提取。
安装演示:
一开始是没有这么多内容,我们需要进行配置:
记得reload加载一下。
在bp抓包时会出现不同的颜色(不同颜色对应不同的信息)
插件加载器
JS前端架构—自动化项目分析
优点:分析时间短
缺点:分析不精准
自动化工具:
1.Findsomething
在扩展中载入已经解压缩的文件夹FindSomething-master(记得打开开发人员模式)
再把FindSomething置顶一下
用寻路犬系统测试,可以看到FindSomething加载出来了域名和path等信息
在network中根据findsomething得到的信息进行搜索来获取关键信息。
2.Jsfinder —从Js中提取URL或敏感数据
https://github.com/Threezh1/JSFinder
一款用作快速在网站的js文件中提取URL,子域名的工具
在Jsfinder目录下cmd
代码:
python JsFinder.py -u http://xlq.tulaway.cn/
使用后自动提取到一些路径,再根据这些路径逐一进行测试(说不定有意外收获~
3.URLFinder —从Js中提取URL或敏感数据
https://github.com/pingc0y/URLFinder
一款用于快速提取检测页面中JS与URL的工具
功能类似于JSFinder,但JSFinder好久没更新了。
单url使用:
显示全部状态码
URLFinder.exe -u http://www.baidu.com -s all -m 3
显示200和403状态码
URLFinder.exe -u http://www.baidu.com -s 200,403 -m 3
批量url:
结果分开保存
导出全部
URLFinder.exe -s all -m 3 -f url.txt -o .
URLFinder.exe -s all -m 3 -f url.txt -o res.html
URLFinder.exe -s all -m 3 -ff url.txt -o .
JSINFO-SCAN —从Js中提取URL或敏感数据
https://github.com/plg3/JSINFO-SCAN
递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具
ffuf -FUZZ 找到更多的js文件分析更多的信息
https://wordlists.assetnote.io
功能强大的模糊化工具,用它来FUZZ模糊化js文件
字典下载:
代码(-w为下载的字典名称,-
u为url地址,200为状态码)
ffuf.exe -w httparchive_js_2022_12_28.txt -u http://xlq.tulaway.cn/FUZZ -mc all -fs 42 -c -v
ffuf.exe -w httparchive_js_2022_12_28.txt -u http://xlq.tulaway.cn/FUZZ -mc 200
ffuf.exe -w httparchive_js_2022_12_28.txt -u http://xlq.tulaway.cn/FUZZ -t 200
开始爆破:
Packer—Fuzzer -针对Js框架开发打包器Webpack检测
一款针对webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具。
运行代码:
python PackerFuzzer.py -u http://220.132.100.252:30001/
Packer—Fuzzer扫描结果:
运行时遇到bug解决方法:
参考文章:
总结修复:
pip3 install -r requirements.txt
pip uninstall python-docx先卸载安装的高版本,在输入pip install python-docx==0.8.11 安装指定版本即可
JS演示案例:
1.先发现为vue.js
2.通过手工分析知道accesskey
3.也可以使用findsomething查看网页获取关键信息。
以上作品为:番薯小羊卷~和李豆豆喵共同创作完成。