DALFox-一款XSS自动化扫描工具
声明!本文章所有的工具分享仅仅只是供大家学习交流为主,切勿用于非法用途,如有任何触犯法律的行为,均与本人及团队无关!!!
目录标题
- 一、介绍及使用
- 启动及使用
- 1. 单个扫描
- 2. 多个扫描
- 3. 文件扫描
- 4. 查看帮助文档
- 二、安装使用
一、介绍及使用
DalFox是一个强大的开源工具,专注于自动化,使其成为快速扫描XSS缺陷和分析参数的理想选择。其先进的测试引擎和利基功能旨在简化检测和验证漏洞的过程。
至于名字,Dal(달)是韩语中的“月亮”,而“福克斯”代表“XSS的发现者”或🦊
工具下载:工具地址
启动及使用
这里我在kali下演示,输入./dalfox以启动查看
用法:
./dalfox 模式 目标 标志
1. 单个扫描
./dalfox url http://testphp.vulnweb.com/listproducts.php\?cat\=123\&artist\=123\&asdf\=ff -b https://your-callback-url
可以看到一些可利用xss漏洞
2. 多个扫描
在该文件夹下创建一个1.txt文件用于存放需要扫描的url
cat 你的文件路径 | ./dalfox pipe
执行扫描
3. 文件扫描
./dalfox file 你的文件路径
执行扫描
4. 查看帮助文档
官方:https://github.com/hahwul/dalfox
更多使用命令可在官方查看:https://dalfox.hahwul.com/
可用模式:file 使用文件模式(目标列表或原始数据)help 任何命令的帮助信息pipe 使用管道模式server 启动API serversxss 使用存储型XSS模式url 使用单目标模式version 显示版本信息整体参数:
-b, --blind string 添加你的盲xss列表* 例如: -b hahwul.xss.ht--config string 从文件导入配置文件
-C, --cookie string 添加自定义cookie--cookie-from-raw string 从burp raw http请求加载cookie* 例如: --cookie-from-raw request.txt--custom-alert-type string 更改警报值类型* 例如: --custom-alert-type=none / --custom-alert-type=str,none (default "none")--custom-alert-value string 更改警报值类型* 例如: --custom-alert-value=document.cookie (default "1")--custom-payload string 从文件中添加自定义payload
-d, --data string 使用POST方法并添加Body数据--debug 调试模式,使用-o选项保存所有日志--deep-domxss 在headless上使用更多payload进行DOM XSS测试[十分缓慢]--delay int 发送到同一主机的间隔毫秒数(1000==1s)
-F, --follow-redirects 跟随重定向--format string 标准输出的输出格式* 支持的格式: plain / json (default "plain")--found-action string 如果找到漏洞,到下一步动作(cmd)* 例如: --found-action='./notify.sh'--found-action-shell string 选择shell应用程序(默认为bash)--grep string 使用自定义grepping文件* 例如: --grep ./samples/sample_grep.json
-H, --header string 添加自定义头
-h, --help dalfox帮助信息--ignore-return string 忽略返回代码进行扫描* 例如: --ignore-return 302,403,404
-X, --method string 强制覆盖HTTP方法* 例如: -X PUT (default "GET")--mining-dict 查找带有字典攻击的新参数,默认为Gf-Patterns=>XSS(默认为true)
-W, --mining-dict-word string 用于参数挖掘的自定义字典列表文件* 例如: --mining-dict-word word.txt--mining-dom 在DOM中查找新参数(attribute/js value)(默认为true)--no-color 不要使用colorize--no-spinner 不要使用spinner--only-custom-payload 仅测试自定义payload(必需 --custom-payload)--only-discovery 仅测试参数分析(相同的'--skip-xss-scanning'选项)--only-poc string 只显示指定模式的PoC代码(g: grep / r: reflected / v: verified)
-o, --output string 写入输出文件(默认情况下,只保存PoC代码)--output-all 所有日志写入模式(-o或标准输出)
-p, --param string 只测试选定的参数--proxy string 发送所有请求到代理服务器* 例如: --proxy http://127.0.0.1:8080--remote-payloads string 使用远程payload进行XSS测试* 支持的远程payload: portswigger/payloadbox* 例如: --remote-payloads=portswigger,payloadbox--remote-wordlists string 使用远程字典列表进行参数挖掘* 支持: burp/assetnote* 例如: --remote-wordlists=burp
-S, --silence 不打印所有日志--skip-bav 跳过BAV(另一个基本漏洞)分析--skip-grepping 跳过内置的grepping--skip-headless Skipping headless browser base scanning[DOM XSS and inJS verify]--skip-mining-all 跳过所有的参数挖掘--skip-mining-dict 跳过Dict型参数挖掘--skip-mining-dom 跳过DOM型基础参数挖掘--skip-xss-scanning 跳过XSS扫描(相同的'--only-discovery'选项)--timeout int 超时时间(默认为10秒)--user-agent string 添加自定义UserAgent
-w, --worker int 并发数量(默认100)服务器 Flags:-h, --help 服务器的帮助--host string 绑定地址(默认为0.0.0.0)--port int 绑定端口(默认为6664)Pipe Flags:-h, --help pipe帮助信息--mass 并行扫描N*主机模式(仅显示poc代码)--mass-worker int 选项的并行工作器(默认为10)--multicast 并行扫描N*主机模式(仅显示poc代码)File Flags:-h, --help 文件帮助信息--http 在rawdata模式下强制http--mass 并行扫描N*主机模式(仅显示poc代码)--mass-worker int 选项的并行工作器(默认为10)--multicast 并行扫描N*主机模式(仅显示poc代码)--rawdata Using req rawdata from Burp/ZAPSXSS Flags:-h, --help sxss帮助信息--sequence int 将sequence设置为第一个数字* 例如: --trigger=https://~/view?no=SEQNC --sequence=3 (default -1)--trigger string 在注入sxss代码后检查这个url* 例如: --trigger=https://~~/profilePayload Flags:--encoder-url 编码输出[URL]--entity-event-handler 枚举xss的事件处理程序--entity-gf 枚举一个gf-patterns xss参数--entity-special-chars 为xss枚举一个特殊字符--entity-useful-tags 为xss列举一个有用的标记--enum-attr 枚举一个in-attr xss payload--enum-common 列举一个常见的xss payload--enum-html 枚举一个内html xss payload--enum-injs 枚举一个in-js xss payload-h, --help 帮助payload--make-bulk 为存储的xss创建批量 payload--remote-payloadbox 枚举一个payload箱的xsspayload--remote-portswigger 列举端口装卸工具xss备查单payload
二、安装使用
macos:
brew install dalfox
ubuntu:
sudo snap install dalfox
go语言下载:
go install github.com/hahwul/dalfox/v2@latest
列举端口装卸工具xss备查单payload
# 二、安装使用macos:```bash
brew install dalfox
ubuntu:
sudo snap install dalfox
go语言下载:
go install github.com/hahwul/dalfox/v2@latest
windows/linux:下载软件包解压即可使用,在后台回复dalfox即可获取
相关文章:

DALFox-一款XSS自动化扫描工具
声明!本文章所有的工具分享仅仅只是供大家学习交流为主,切勿用于非法用途,如有任何触犯法律的行为,均与本人及团队无关!!! 目录标题 一、介绍及使用启动及使用1. 单个扫描2. 多个扫描3. 文件扫描…...
Python 异步协程:从 async/await 到 asyncio 再到 async with
在 Python 3.8 以后的版本中,异步编程变得越来越重要。本文将系统介绍 Python 标准库中的异步编程工具,带领大家掌握 async/await 语法和 asyncio 的使用。 从一个简单的场景开始 假设我们在处理一些耗时的 I/O 操作,比如读取多个文件或处理…...
云原生周刊:利用 eBPF 增强 K8s
开源项目推荐 Slurm-operator Slurm-operator 是一个高效可扩展的框架,用于在 K8s 环境中部署和运行 Slurm 工作负载。 它结合了 Slurm 的可靠性和 Kubernetes 的灵活性,支持快速部署 Slurm 集群、动态扩展 HPC 工作负载,并提供高度灵活的定…...

【pycharm】远程服务器之后如何打开终端
【pycharm】远程服务器之后如何打开终端 在pycharm中,我们通过远程连接服务器,此时如果我们需要在终端运行的话,并不能直接在本地终端运行,而是需要连接到服务器终端才能运行命令 设置如下: 输入服务器的ip、端口、…...

从零创建一个 Django 项目
1. 准备环境 在开始之前,确保你的开发环境满足以下要求: 安装了 Python (推荐 3.8 或更高版本)。安装 pip 包管理工具。如果要使用 MySQL 或 PostgreSQL,确保对应的数据库已安装。 创建虚拟环境 在项目目录中创建并激活虚拟环境ÿ…...

无人零售 4G 工业无线路由器赋能自助贩卖机高效运营
工业4G路由器为运营商赋予 “千里眼”,实现对贩卖机销售、库存、设备状态的远程精准监控,便于及时补货与维护;凭借强大的数据实时传输,助力深度洞察销售趋势、优化库存、挖掘商机;还能远程升级、保障交易安全、快速处理…...

使用VSCode Debugger 调试 React项目
一般我们调试代码时,用的最多的应该就是console.log方式了,还有的是使用Chrome DevTools 通过在对应的 sourcemap代码位置打断点进行调试,除了上面两种方式外还有一种更好用的调试方式: VSCode Debugger。 VSCode Debugger可以直…...

[创业之路-199]:《华为战略管理法-DSTE实战体系》- 3 - 价值转移理论与利润区理论
目录 一、价值转移理论 1.1. 什么是价值? 1.2. 什么价值创造 (1)、定义 (2)、影响价值创造的因素 (3)、价值创造的三个过程 (4)、价值创造的实践 (5&…...

AWTK-WEB 快速入门(2) - JS 应用程序
AWTK 可以使用相同的技术栈开发各种平台的应用程序。有时我们需要使用 Web 界面与设备进行交互,本文介绍一下如何使用 JS 语言开发 AWTK-WEB 应用程序。 用 AWTK Designer 新建一个应用程序 先安装 AWTK Designer: https://awtk.zlg.cn/web/index.html…...

dolphinscheduler服务注册中心源码解析(三)RPC提供者服务整合注册中心注册服务实现源码
RPC提供者服务整合注册中心注册服务实现源码 1.概述2.源码解读思路3.实现2.1.应用服务的RPC服务接口定义2.1.1.MasterServer应用中提供的RPC接口服务2.1.2.WorkerServer应用中提供的RPC接口服务2.2.应用服务的RPC服务接口实现2.2.1.MasterServer应用中提供的RPC接口服务实现类2…...

电脑不小心删除了msvcr120.dll文件怎么办?“缺失msvcr120.dll文件”要怎么解决?
一、文件丢失与损坏的常见原因及解决办法 1. 不小心删除系统文件 常见情况:有时在清理电脑垃圾文件时,可能会不小心删除一些重要的系统文件,如msvcr120.dll等。解决办法: 恢复文件:如果刚删除不久,可以尝…...
js 深度克隆
深度克隆(Deep Clone)是指复制一个对象或数组及其所有嵌套结构的副本,使得克隆后的对象与原对象完全独立。JavaScript 提供了一些方法实现深度克隆,但每种方法有其优缺点。 1. 常用方法 1.1 使用 JSON.parse 和 JSON.stringify …...

深度学习之超分辨率算法——FRCNN
– 对之前SRCNN算法的改进 输出层采用转置卷积层放大尺寸,这样可以直接将低分辨率图片输入模型中,解决了输入尺度问题。改变特征维数,使用更小的卷积核和使用更多的映射层。卷积核更小,加入了更多的激活层。共享其中的映射层&…...
软件测试之压力测试【详解】
压力测试 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力,并确保软件在危急情况下不会崩溃。它甚至可以测试超出正常工作点的测试,并评估软件在极端…...

电脑出现 0x0000007f 蓝屏问题怎么办,参考以下方法尝试解决
电脑蓝屏是让许多用户头疼的问题,其中出现 “0x0000007f” 错误代码更是较为常见且棘手。了解其背后成因并掌握修复方法,能帮我们快速恢复电脑正常运行。 一、可能的硬件原因 内存问题 内存条长时间使用可能出现物理损坏,如金手指氧化、芯片…...

分布式系统架构:限流设计模式
1.为什么要限流? 任何一个系统的运算、存储、网络资源都不是无限的,当系统资源不足以支撑外部超过预期的突发流量时,就应该要有取舍,建立面对超额流量自我保护的机制,而这个机制就是微服务中常说的“限流” 2.四种限流…...
G口带宽服务器与1G独享带宽服务器:深度剖析其差异
在数据洪流涌动的数字化时代,服务器作为数据处理的核心,其性能表现直接关系到业务的流畅度和用户体验的优劣。随着技术的飞速发展,G口带宽服务器与1G独享带宽服务器已成为众多企业的优选方案。然而,这两者之间究竟有何细微差别&am…...

Flamingo:少样本多模态大模型
Flamingo:少样本多模态大模型 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)3. 实现步骤4. 效果展示5. 金手指 解法拆解全流程核心模式提问Flamingo为什么选择使用"固定数量的64个视觉tokens"这个特定数字?这个数字的选择背…...

推荐一款免费且好用的 国产 NAS 系统 ——FnOS
一、系统基础信息 开发基础:基于最新的Linux内核(Debian发行版)深度开发,兼容主流x86硬件(ARM还没适配),自由组装NAS,灵活扩展外部存储。 使用情况:官方支持功能较多&am…...

2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
一、嵌入式系统架构 软件脆弱性是软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低。嵌入式系统软件架构通常采用分层架构,它可以将问题分解为一系列相对独立的子问题,局部化在每一层中…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...