知识点:
1、信息收集-Web应用-JS提取分析-人工&插件&项目
2、信息收集-Web应用-JS提取分析-URL&配置&逻辑
FUZZ测试 ffuf https://github.com/ffuf/ffuf
匹配插件 Hae https://github.com/gh0stkey/HaE
JS提取 JSFinder https://github.com/Threezh1/JSFinder
JS提取爬虫 URLFinder https://github.com/pingc0y/URLFinder
WebPack分析 Packer-Fuzzer https://github.com/rtcatc/Packer-Fuzzer
JS匹配插件 BurpAPIFinder https://github.com/shuanx/BurpAPIFinder
JS提取 LinkFinder https://github.com/GerbenJavado/LinkFinder
WebPack分析 jjjjjjjjjjjjjs https://github.com/ttstormxx/jjjjjjjjjjjjjs
JS提取爬虫 FindSomething https://github.com/momosecurity/FindSomething
JS匹配插件 Unexpected_information https://github.com/ScriptKid-Beta/Unexpected_information
FUZZ字典 字典集合 https://wordlists.assetnote.io
项目插件工具
https://github.com/ffuf/ffuf
用Go编写的快速 Web 模糊测试程序。https://github.com/gh0stkey/HaE
HaE是一款网络安全(数据安全)领域下的框架式项目,采用了乐高积木式模块化设计理念,巧妙地融入了人工智能大模型辅助技术,实现对HTTP消息(包含WebSocket)精细化的标记和提取。https://github.com/Threezh1/JSFinder
一款用作快速在网站的js文件中提取URL,子域名的工具https://github.com/pingc0y/URLFinder
URLFinder是一款快速、全面、易用的页面信息提取工具
用于分析页面中的js与url,查找隐藏在其中的敏感信息或未授权api接口https://github.com/rtcatc/Packer-Fuzzer
针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具https://github.com/shuanx/BurpAPIFinder
攻防演练过程中,我们通常会用浏览器访问一些资产,但很多未授权/敏感信息/越权隐匿在已访问接口过html、JS文件等,通过该BurpAPIFinder插件我们可以:
1、发现通过某接口可以进行未授权/越权获取到所有的账号密码、私钥、凭证
2、发现通过某接口可以枚举用户信息、密码修改、用户创建接口
3、发现登陆后台网址
4、发现在html、JS中泄漏账号密码或者云主机的Access Key和SecretKey
5、自动提取js、html中路径进行访问,也支持自定义父路径访问 ...https://github.com/ttstormxx/jjjjjjjjjjjjjs
针对webpack站点,爬取网站JS文件,分析获取接口列表,自动结合指纹识别和fuzz获取正确api根,可指定api根地址(针对前后端分离项目,可指定后端接口地址),根据有效api根组合爬取到的接口进行自动化请求,发现未授权/敏感信息泄露,回显api响应,定位敏感信息、敏感文件、敏感接口。支持批量模式。支持需认证接口自动尝试bypass。https://github.com/momosecurity/FindSomething
该工具是用于快速在网页的html源码或js代码中提取一些有趣的信息的浏览器插件,包括请求的资源、接口的url,请求的ip和域名,泄漏的证件号、手机号、邮箱等信息。https://github.com/ScriptKid-Beta/Unexpected_information
BurpSuite插件用来标记请求包中的一些敏感信息、JS接口和一些特殊字段,
防止我们疏忽了一些数据包,使用它可能会有意外的收获信息。
演示案例-Web应用-JS前端分析-人工&提取项目&插件&流量匹配
在日常渗透测试中,从JavaScript(JS)文件中提取信息是一项关键的步骤,以往有些案例就是通过JS文件中发现的敏感信息从而拿下重要的系统。在JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取部分源代码逻辑。从而获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用大部分属于白盒测试(默认有大量源码参考),一般会在JS中寻找更多的URL地址,在JS代码逻辑(加密算法,APIkey配置,验证逻辑等)进行后期安全测试。
0、JS信息收集
接口URL提取
敏感/配置信息提取
其他信息提取(环境,注释,用途等)1、JS安全问题
未授权访问=JS里面分析更多的URL访问确定接口路径
敏感Key泄漏=JS文件中配置接口信息(云应用,短信,邮件,数据库等)
API接口安全=(代码中加密提交参数传递,更多的URL路径)2、流行的Js框架有那些?
Vue、NodeJS、jQuery、Angular等3、如何判定JS开发应用?
插件wappalyzer
源程序代码简短
引入多个js文件
一般有/static/js/app.js等顺序的js文件
一般cookie中有connect.sid4、如何获取更多的JS文件?
手工-浏览器搜索
半自动-Burpsuite插件
工具化-各类提取&FUZZ项目5、人工如何快速获取价值信息?
src=
path=
method:"get"
http.get("
method:"post"
http.post("
$.ajax
http://service.httppost
http://service.httpget
0、人工JS中提取URL信息
1、从JS中提取到URL信息(JSFinder、URLFinder)
2、从JS中提取到敏感信息/配置信息(hae、Unexpected_information、BurpAPIFinder、FindSomething)
3、从JS中Fuzz提取到更多(ffuf)
字典集合:https://wordlists.assetnote.io/
4、WebPack打包器信息获取(Packer-Fuzzer、jjjjjjjjjjjjjs)