渗透测试之js利用

时间:2024-12-18 10:03:06

引言

在渗透测试中,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  //显示所有状态码,并且安全深入抓取