引言
在渗透测试中,js利用是一个非常重要的部分,作为一个网络安全人员,我也是经常利用到这一模块,首先,js是什么呢
什么是js
JavaScript(简称js),javascript和java虽然名字相似,但两个东西却是有天壤之别,js是一种广泛运用的脚本语言
js利用
因为js是直接泄露在前端里面,相当于做一个白盒测试,而js里面也可能会存在漏洞,比如逻辑漏洞,未授权访问等。测试js的时候,可以试试从以下两个角度入手
人工查找
payload
src= //用来指定外部JavaScript文件的路径
path= //可以用来查找所在路径
method:"get" //使用HTTP GET方法发起网络请求,用于从服务器获取数据。
http.get(" //用Node.js的http模块时,发起一个HTTP GET请求的方法
method:"post" //使用HTTP POST方法发起网络请求,用于从服务器获取数据。
http.post(" //用Node.js的http模块时,发起一个HTTP POST请求的方法
$.ajax //用于查找接口
http://service.httppost
http://service.httpget
这种方法的好处就是找出来的数据还是比较真实的,但这种方法所需要用到的时间太长了
以www.baidu.com为例
我这里使用的是火狐浏览器,按f12,点击调试器,这里能看到允许你看到的所有js
这样就能查到一些路径,如果在挖src漏洞时候,在登陆页面进入这种目录里面,就是一种未授权
自动化工具
说实话我更偏向于利用工具来利用js,我使用的工具有FindSomething、jsfinder、urlfinder、ffuf、packer-fuzzer
FinfSomething
这是一个插件,在火狐的插件市场里面就能查到
下载安装即可
这个插件可以用来查找ip、端口等消息,有时候后台登录时说不定账号密码就给你找出来了
使用方法
这些就是从百度爬取下来的一些数据,我们可以把这些路径一个一个去试,这个里面说不定就会有未授权访问,当然,这么多路径一个一个试要试的话,那得试道什么时候
因此,这个插件贴心的准备了一键复制功能
先新建一个txt文件,然后把刚刚复制的内容放进去
就可以把这个作为字典用bp跑了
然后查看响应包即可
jsfinder
JSFinder 是一个用于查找和提取网站中 JavaScript 文件的工具。
下载地址:https://github.com/Threezh1/JSFinder
下载这个压缩包,下载完之后解压到python3版本的文件夹里面,
在此处打开cmd窗口,输入
python JSFinder.py -h
出现这个窗口代表安装成功,jsfinder一般就是两种使用方法,一个是简单爬取,一个是深度爬取
简单爬取
python JSFinder.py -u https://www.baidu.com/
深度爬取
加一个-d参数
python JSFinder.py -u https://www.baidu.com -d
urlfinder
URLFinder 是一款快速、全面、易用的页面信息提取工具,主要用于分析页面中的 JavaScript 和 URL,查找隐藏在其中的敏感信息或未授权的 API 接口。该项目的主要编程语言是 Go,它是一种静态类型、编译型语言,具有高效、简洁和并发性强的特点。
安装urlfinder之前先得安装go环境
go环境安装网址:All releases - The Go Programming Language
安装这个即可,接下来就是傻瓜式安装
cmd中执行go version
出现这个表示安装成功
urlfind安装网址:https://github.com/pingc0y/URLFinder.git
常用使用方法
URLFinder.exe -u http://www.baidu.com -s all -m 3 //显示所有状态码,并且安全深入抓取