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

发布于:2024-12-20 ⋅ 阅读:(13) ⋅ 点赞:(0)
#知识点

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字典来枚举