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

工具推荐-js爬取工具

现在测试方向都偏向于从js中的接口来入手找到可以进的点,关于快速扫描js文件来发现敏感接口的工具有很多,下面的jjjjs就是其一

项目地址: GitHub - ttstormxx/jjjjjjjjjjjjjs: 爬网站JS文件,自动fuzz api接口,指定api接口(针对前后端分离项目,可指定后端接口地址),回显api响应

简介

针对webpack站点,爬取网站JS文件,分析获取接口列表,自动结合指纹识别和fuzz获取正确api根,可指定api根地址(针对前后端分离项目,可指定后端接口地址),根据有效api根组合爬取到的接口进行自动化请求,发现未授权/敏感信息泄露,回显api响应,定位敏感信息、敏感文件、敏感接口。支持批量模式。支持需认证接口自动尝试bypass。

使用

安装好依赖后,显示以下界面就可以正常使用了

python3 jjjjjjjjjjjjjs.py

模式有fuzz、spider和api,三个中只能任选其一

python3 jjjjjjjjjjjjjs.py http://xxx.com

直接后面加上url就爬取当前页面内容并拼接api进行访问

python3 jjjjjjjjjjjjjs.py http://xxx.com fuzz nobody flush

也可以用fuzz的方式的来查看,再spider模式没有查找到接口的情况下可以用fuzz模式来试试

python3 jjjjjjjjjjjjjs.py http://xxx.com api=/app nobody flush

当确认了确实存在某个api就可以用api模式

可在每个模式下加上bypass来对401、403进行测试;加上deep可以选择测试的深度爬到那一层,下面是作者给出的每个参数的含义可供对照使用

使用方式:python3 jjjjjjjs.py url|urlfile [fuzz|api] [noapi] [nobody|nofuzz] [cookie] [header] [danger] [bypass] [output] [thread] [proxy] [flush] [deep]url|file: 目标urlfuzz:     自动fuzz接口api:      用户指定api根路径  fuzz|api        e.g. api=/jeecg-boot 或 api=http://api.test.com/rootnoapi:    排除输入的指定api        e.g. noapi=/system,/worker,/apinobody:   禁用输出响应body   nobody|nofuzznofuzz:   仅获取有效api,无后续响应获取cookie:   设置cookie        e.g. cookie='username=admin'header:   设置header        e.g. header='X-Forwarded-For: localhost\nX-Access-Token: eyJxxxxx'danger:   解除危险接口限制bypass:   对500 401 403 进行bypass测试output:   输出到文件 (txt)  e.g. output='dest.txt'thread:   线程数     e.g. thread=200proxy:    设置代理 (仅指定proxy时, 自动设置代理到http://127.0.0.1:8080) e.g. proxy='http://127.0.0.1:8080'flush:    清除项目历史记录, 重新爬取deep:     深度模式(一般不需要开启), 开启后爬取深度上限:URL 2层 JS 3层,同源URL 3层, 同源JS 5层debug:    展示更多信息目标参数的位置固定在参数第一位,其他参数不限制出现位置

http://www.lryc.cn/news/500672.html

相关文章:

  • Android问题记录 - Inconsistent JVM-target compatibility detected for tasks
  • ejb组件(rmi) webservice平台(xml)
  • 【jvm】垃圾回收的重点区域
  • PyQt信号槽实现页面的登录与跳转 #页面进一步优化
  • 谈谈web3
  • 正则表达式实战例子
  • Hadoop不同版本的区别
  • QtCreator UI界面 菜单栏无法输入中文
  • java switch及其新特性
  • E卷-货币单位换算(100分)
  • 什么是MMD Maximum Mean Discrepancy 最大均值差异?
  • 沐风老师3DMAX摄相机阵列插件使用方法
  • Java Web 开发学习中:过滤器与 Ajax 异步请求
  • 数据结构 (36)各种排序方法的综合比较
  • 使用vue搭建不需要打包的前端项目
  • 发布订阅者=>fiber=>虚拟dom
  • Python-计算机中的码制以及基础运算符(用于分析内存)
  • yum 离线软件安装
  • 【C语言】17. 数据在内存中的存储
  • 二叉树概述
  • 【开源免费】基于SpringBoot+Vue.JS图书进销存管理系统(JAVA毕业设计)
  • 惠普M126a连接共享打印机故障0x000006ba,系统不支持请求的命令,print spooler重复停止
  • Chainlit集成LlamaIndex实现一个通过用户聊天对话的酒店预定系统
  • 计算机网络之网络层超详细讲解
  • 代码随想录算法训练营day51|动态规划part13
  • ESP8266自制桌宠机器狗
  • 【力扣】409.最长回文串
  • git 拉取代码时报错 gitignore Please move or remove them before you merge.
  • 19,[极客大挑战 2019]PHP1
  • MQTT消息服务器mosquitto介绍及说明