当前位置: 首页 > article >正文

信息搜集 --前端js打点

前端js打点

什么是js渗透测试

在Javascript中也存在变量和函数,当存在可控变量及函数调用即可参数漏洞JS开发的WEB应用和PHP,JAVA,NET等区别在于即没有源代码,也可以通过浏览器的查看源代码获取真实的点。获取URL,获取Js敏感信息,获取代码传参等,所以相当于JS开发的WEB应用属于白盒测试(默认有源码参考),一般会在JS中寻找更多的URL地址,在IS代码逻辑(加密算法,APIkey配置,验证逻辑等) 进行后期安全测试。

后端语言:php java python .NET 等等

前端语言:javascript js框架

从JS文件中能找到什么?

会增加攻击面(URL、接口)

敏感信息(用户名密码、ak/sk、token/session)

代码中的潜在危险函数(eval、dangerallySetInnerHTML)

流行的JS框架(从相关框架中寻找历史漏洞)(Vue、NodeJS、jQuery、Angular、React等)

手动寻找隐藏接口/url

在源代码处搜索以下关键词

src= # 链接地址

path= # 路径

method:“get”

method:“post”

http.get("

http.post("

$.ajax

http://service.httppost

http://service.httpget

在浏览器的源码处ctrl+shift+f全局搜索关键词,提取url

半自动化(插件)

浏览器插件findsomething

在这里插入图片描述

burp插件
hae

在这里插入图片描述

burp自带的 目标>>相关工具>>搜索脚本

在这里插入图片描述

在这里插入图片描述

全自动化(工具)

使用工具自动化提取隐藏接口

JSFinder

下载路径:Threezh1/JSFinder: JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website.

在这里插入图片描述

URLFinder

下载路径:pingc0y/URLFinder: 一款快速、全面、易用的页面信息提取工具,可快速发现和提取页面中的JS、URL和敏感信息。

下载好后编译,需要go环境

下载好go环境,先更改go代理

go env -w GOPROXY=https://goproxy.cn,direct

避免三方库安装失败

windows下编译命令:go build -ldflags “-s -w” -o ./URLFinder-windows-amd64.exe

在这里插入图片描述

单个url命令

显示全部状态码
URLFinder.exe -u http://www.baidu.com -s all -m 3

显示200和403状态码
URLFinder.exe -u http://www.baidu.com -s 200,403 -m 3

在这里插入图片描述

https://wordlists.assetnote.io

FUZZ 模糊测试js文件

字典网站

Assetnote Wordlists

ffuf工具

它可以帮助你在短时间内发现网站的隐藏目录、文件和子域名,从而找到潜在的安全漏洞。

ffuf/ffuf: Fast web fuzzer written in Go

FFUF的主要功能

FFUF 的功能非常丰富,以下是它的一些主要用途:

  1. 目录发现:可以在URL的任何位置进行模糊测试。
  2. 子域名发现:快速找到网站的子域名。
  3. HTTP方法模糊测试:支持使用各种HTTP方法进行测试。

指令

• -u url地址
• -w 设置字典
• -c 将响应状态码用颜色区分,windows下无法实现该效果。
• -t 线程率,默认40
• -p 请求延时: 0.1、0.2s
• -ac 自动校准fuzz结果
• -H Header头,格式为 “Name: Value”
• -X HTTP method to use
• -d POST data
• -r 跟随重定向
• -recursion num 递归扫描
• -x 设置代理 http 或 socks5://127.0.0.1:8080
• -s 不打印附加信息,简洁输出
• -e 设置脚本语言 -e .asp,.php,.html,.txt等
• -o 输出文本
• -of 输出格式文件,支持html、json、md、csv、或者all

基础用法

-u 扫描目标,-w字典,速度非常快,7000的字典只用了三秒钟

ffuf -u "http://192.168.242.62/dvwa/FUZZ"  -w ./top7000.txt
递归扫描

值得注意的是字典内开头不要有 / 不然不会进行递归的,当然,也有可能是我演示时候FUZZ前加了 / ,我也不想再做实验了,随便写上吧。去除 / 可使用sed -i ‘s///’ /dict.txt 替换掉开头第一个斜杠

ffuf -u "http://192.168.242.62/FUZZ"  -w test.txt  -x "http://127.0.0.1:8080"  -recursion "2"
进阶用法
  • -maxtime 在有限的时间内完成测试,不论是否完成都将终止,单位为s,
    尽量使用**-maxtime-job-recursion**递归扫描一起使用,用于指定每个目录递归扫描时间,避免扫描时间过长
ffuf -w dict.txt -u http://website.com/FUZZ -maxtime 60
匹配输出

ffuf提供了仅获取具有特定特征的状态码、行数、响应大小、字数以及匹配正则表达式的模式进行响应输出。

  • -mc :指定状态代码。
  • -ml:指定响应行数
  • -mr: 指定正则表达式模式
  • -ms:指定响应大小
  • -mw:指定响应字数

例子:匹配响应状态码为200,301进行输出

ffuf -w dict.txt -w http://website.com/FUZZ -e .aspx,.html -mc 200,301
过滤输出(FILTER)
  • -fw : 按字数过滤
  • -fl :按行数过滤
  • -fs :按响应大小过滤
  • -fc : 按状态码过滤
  • -fr : 按正则表达式模式过滤
Packer-Fuzzer

一款针对webpack等前端打包工具所构造的网站

下载链接:https://github.com/rtcatc/Packer-Fuzzer

在这里插入图片描述

结果文件在reports目录里

在这里插入图片描述


http://www.kler.cn/news/362191.html

相关文章:

  • 【算法】归并排序概念及例题运用
  • Docker安装Mysql5.7,解决无法访问DockerHub问题
  • 解密 Redis:如何通过 IO 多路复用征服高并发挑战!
  • ECHO-GL:盈利电话驱动的异质图学习股票 走势预测
  • 通用大模型应用研究七:RAGOS和AgentOS
  • 大规模创新类竞赛评审方案的建模与研究
  • 九、SQL 进阶之路:深入探索数据库查询的艺术
  • Chromium html<textarea>c++接口定义
  • 刷爆leetccode Day7 DP
  • 从程序小白到CTO的10年成长之路(7)
  • 大语言模型赋能病理AI,自动从报告文本中分类TNM分期|顶刊精析·24-10-17
  • [k8s理论知识]5.docker基础(四)Dockerfile构建
  • 微信支付V3 yansongda/pay 踩坑记录
  • 【数组知识的扩展①】
  • 一个基于Vue3开源免费的可快速开发中后台的框架,方便易用,业务没有瓶颈期!(附地址)
  • MySQL 数据库迁移至达梦 DM8 常见问题
  • Jmeter监控服务器性能
  • React源码03 - React 中的更新
  • grafana 配置prometheus
  • 界面控件DevExtreme中文教程 - 如何与Amazon S3和Azure Blob存储集成?
  • Spring XML配置方式和Spring Boot注解方式的详细对照关系
  • Docker-Consul概述以及集群环境搭建
  • GMT绘图笔记:高亮特定的研究区域
  • 【消息队列】RabbitMQ实现消费者组机制
  • 计算机毕业设计 基于Python的校园个人闲置物品换购平台的设计与实现 Python毕业设计 Python毕业设计选题【附源码+安装调试】
  • Java中的Vector,看着陌生?