第20天:JS信息收集-Web应用&JS架构&URL提取&数据匹配&Fuzz接口&WebPack分析&自动化

#知识点
1、信息收集-Web应用-JS提取分析-人工&插件*项目

2、信息收集-Web应用-JS提取分析-URL&配置&逻辑

|------------|------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 标签 | 名称 | 地址 |
| FUZZ测试 | ffuf | GitHub - ffuf/ffuf: Fast web fuzzer written in Go |
| 匹配插件(bp) | Hae | GitHub - gh0stkey/HaE: HaE - Highlighter and Extractor, Empower ethical hacker for efficient operations. |
| JS提取 | JSFinder | GitHub - Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website. |
| JS提取爬虫(推荐) | URLFinder | GitHub - pingc0y/URLFinder: 一款快速、全面、易用的页面信息提取工具,可快速发现和提取页面中的JS、URL和敏感信息。 |
| WebPack分析 | Packer-Fuzzer | GitHub - rtcatc/Packer-Fuzzer: Packer Fuzzer is a fast and efficient scanner for security detection of websites constructed by javascript module bundler such as Webpack. |
| JS匹配插件(推荐) | BurpAPIFinder | GitHub - shuanx/BurpAPIFinder: 攻防演练过程中,我们通常会用浏览器访问一些资产,但很多未授权/敏感信息/越权隐匿在已访问接口过html、JS文件等,该插件能让我们发现未授权/敏感信息/越权/登陆接口等。 |
| JS提取 | LinkFinder | GitHub - GerbenJavado/LinkFinder: A python script that finds endpoints in JavaScript files |
| WebPack分析 | jjjjjjjjjjjjjs | GitHub - ttstormxx/jjjjjjjjjjjjjs: 爬网站JS文件,自动fuzz api接口,指定api接口(针对前后端分离项目,可指定后端接口地址),回显api响应 |
| JS提取爬虫 | FindSomething | GitHub - momosecurity/FindSomething: 基于chrome、firefox插件的被动式信息泄漏检测工具 |
| JS匹配插件 | Unexpected_information | GitHub - ScriptKid-Beta/Unexpected_information: Unexpected information 是用于标记请求包中的一些敏感信息、JS接口和一些特殊字段的BurpSuite 插件。 |
| FUZZ字典 | 字典集合 | https://wordlists.assetnote.io |

补充知识:
1、在日常渗透测试中,从JavaScript(JS)文件中提取信息是一项关键的步骤,以往有些案例就是通过JS文件中发现的敏感信息从而拿下重要的系统。

2、在JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取部分源代码逻辑。从而获取URL,获取JS敏感信息,获取代码传参等,所以相当于JS开发的WEB应用大部分属于白盒测试(默认有大量源码参考),一般会在JS中寻找更多的URL地址,在JS代码逻辑(加密算法,APIkey配置,验证逻辑等)进行后期安全测试。

一、JS信息收集哪些信息

1、接口URL提取

2、后端地址提取

3、敏感信息提取->如用户名、账号、密码等

4、配置信息提取

5、其他信息提取(环境,注释,网站用途等)

二、JS存在的安全问题

1、源码泄漏->代码审计,JS逆向分析

2、未授权访问->JS里面分析出更多的URL->访问url确定接口路径

3、敏感Key泄漏->JS文件中泄露的配置接口信息(云应用oss的ak\sk等信息,短信,邮件,数据库等)

4、API接口安全->代码中如何加密提交、参数如何传递,更多的URL路径

三、流行的Js框架有那些?

Vue NodeJS jQuery Angular等

四、如何判定JS开发应用?

1、插件wappalyzer进行指纹识别

2、源程序代码简短

3、通过检查前端源代码->引入多个js文件

一般有/static/js/app.js等顺序的js文件

一般cookie中有connect.sid

五、如何获取更多的JS文件?

1、手工-浏览器搜索

2、半自动-Burpsuite插件->如:BurpAPIFinder、Unexpected_information、Hae

3、工具化-各类提取工具->如:URLFinder、FindSomething插件、jjjjjjjjjjjjjs、Packer-Fuzzer->FUZZ模糊测试项目(ffuf工具)。

六、如何快速获取价值信息?

src=

path=

method:"get"

http.get("

method:"post"

http.post("

$.ajax

http://service.httppost

http://service.httpget

七、实操案例:

1、人工JS中提取URL信息

①访问:www.xiaodi8.com(此站点php传输,不是js前端传输)

②访问:my.sto.cn(此站点用的是js前端传输数据)

③手工信息收集JS

2、从JS中提取到URL信息

URLfinder工具的使用:https://github.com/pingc0y/URLFinder

3、从JS中提取到敏感信息、从JS中提取到配置信息

bp插件APIfinder、HaE使用:

https://github.com/gh0stkey/HaE

作用:对bp的数据包进行分析,对数据进行筛选

https://github.com/shuanx/BurpAPIFinder(bp插件,强烈推荐)

作用:与HaE不同的是,APIfinder是直接从JS里面分析

5、从JS中Fuzz提取到更多js文件

作用:在js文件所在的目录,发现更多的js文件,主要原理是根据字典来爆破,获取更多js文件;

案例:http://www.xiaodi8.com/zb_system/script/common.js

①该url的js文件所在的目录为:http://www.xiaodi8.com/zb_system/script

②对js文件所在的目录进行fuzz模糊测试

字典合集:https://wordlists.assetnote.io

6、WebPack打包器信息获取

工具1:https://github.com/rtcatc/Packer-Fuzzer

工具2:https://github.com/ttstormxx/jjjjjjjjjjjjjs(推荐)

这两款工具是具备分析功能,而souredetector(chrome的webpack检测插件)只具备下载器功能

八、工具大全

1、https://github.com/gh0stkey/HaE(bp插件,推荐使用)-\>bp2022年版本以上才可使用

作用:对bp的数据包进行分析,对数据进行筛选

2、https://github.com/shuanx/BurpAPIFinder(bp插件,强烈推荐)

作用:与HaE不同的是APIfinder是直接从JS里面分析

3、https://github.com/ScriptKid-Beta/Unexpected_information(bp插件)

4、https://github.com/pingc0y/URLFinder工具(强烈推荐)

5、https://github.com/GerbenJavado/LinkFinder(不推荐,了解即可)

功能类似于JSFinder,但JSFinder好久没更新了。

6、https://github.com/rtcatc/Packer-Fuzzer-\>webpack打包器

7、https://github.com/ttstormxx/jjjjjjjjjjjjjs(推荐)-\>webpack打包器

8、https://github.com/momosecurity/FindSomething(chrome插件,推荐)

该工具是用于快速在网页的html源码或js代码中提取一些有趣的信息的浏览器插件,包括请求的资源、接口的url,请求的ip和域名,泄漏的证件号、手机号、邮箱等信息。

9、https://github.com/ffuf/ffuf(FUZZ模糊测试)

用Go编写的快速 Web 模糊测试(FUZZ)程序

作用:在检测到js的目录下,继续爆破查找没有被发现的js,需要用到js字典来枚举

相关推荐
码事漫谈13 分钟前
解决 Anki 启动器下载错误的完整指南
前端
im_AMBER33 分钟前
Web 开发 27
前端·javascript·笔记·后端·学习·web
蓝胖子的多啦A梦1 小时前
低版本Chrome导致弹框无法滚动的解决方案
前端·css·html·chrome浏览器·版本不同造成问题·弹框页面无法滚动
玩代码1 小时前
vue项目安装chromedriver超时解决办法
前端·javascript·vue.js
訾博ZiBo1 小时前
React 状态管理中的循环更新陷阱与解决方案
前端
StarPrayers.2 小时前
旅行商问题(TSP)(2)(heuristics.py)(TSP 的两种贪心启发式算法实现)
前端·人工智能·python·算法·pycharm·启发式算法
一壶浊酒..2 小时前
ajax局部更新
前端·ajax·okhttp
苏打水com2 小时前
JavaScript 面试题标准答案模板(对应前文核心考点)
javascript·面试
Wx-bishekaifayuan2 小时前
基于微信小程序的社区图书共享平台设计与实现 计算机毕业设计源码44991
javascript·vue.js·windows·mysql·pycharm·tomcat·php
DoraBigHead3 小时前
React 架构重生记:从递归地狱到时间切片
前端·javascript·react.js