菜单

XSS 攻击工具

相关源文件

概述

本页介绍了 hackingtool 框架中包含的跨站脚本(XSS)攻击工具。这些工具可帮助安全专业人员识别、测试和利用 Web 应用程序中的 XSS 漏洞。XSS 攻击允许攻击者将恶意脚本注入到其他用户查看的网页中,从而可能导致会话劫持、凭证窃取或其他恶意活动。

有关通用 Web 攻击工具的信息,请参阅 Web 攻击工具

来源: tools/xss_attack.py134-146 hackingtool.py27-59

XSS 工具架构

XSS 攻击工具组件实现为一个独立工具的集合,这些工具组织在 XSSAttackTools 类下,该类继承自 HackingToolsCollection。每个特定工具都继承自基础 HackingTool 类。

类层级图

来源: tools/xss_attack.py134-146 tools/xss_attack.py9-133

模块集成图

来源: hackingtool.py27-62 tools/xss_attack.py134-146

可用的 XSS 工具

hackingtool 框架包含 9 种不同的 XSS 攻击工具,每种工具都有特定的功能和能力。下表概述了这些工具

工具描述语言/框架安装方法
DalFoxXSS 扫描和参数分析工具GoGit clone + Go install
XSS 有效载荷生成器生成 XSS 有效载荷,并包含扫描器功能PythonGit clone + pip install
扩展 XSS 搜索器和查找器全面的 XSS 漏洞搜索PythonGit clone
XSS-Freak从头开始编写的 XSS 扫描器Python 3Git clone + pip install
XSpearXSS 扫描器RubyRuby gem
XSSConXSS 漏洞扫描器PythonGit clone
XanXSS基于模板的反射型 XSS 搜索工具PythonGit clone
XSSStrike高级 XSS 检测套件PythonGit clone + pip install
RVuln多线程 Web 漏洞扫描器RustGit clone + Rust build

来源: tools/xss_attack.py9-133

详细工具说明

DalFox

DalFox 是一款强大的 XSS 扫描和参数分析工具,使用 Go 语言编写。

特性

  • 用于检测潜在 XSS 漏洞的参数分析
  • 高级 XSS 有效载荷生成
  • 用于查找 XSS 漏洞的扫描功能

安装

sudo apt-get install golang
sudo git clone https://github.com/hahwul/dalfox
cd dalfox;go install

用途

~/go/bin/dalfox [options]

来源: tools/xss_attack.py9-21

XSS 有效载荷生成器

此工具有助于生成用于测试的 XSS 有效载荷,并且还包含扫描功能。

特性

  • XSS 有效载荷生成
  • XSS 扫描
  • XSS dork 查找器

安装

git clone https://github.com/capture0x/XSS-LOADER.git
cd XSS-LOADER;sudo pip3 install -r requirements.txt

用途

cd XSS-LOADER;sudo python3 payloader.py

来源: tools/xss_attack.py24-32

扩展 XSS 搜索器和查找器

一个全面的工具,用于在 Web 应用程序中搜索和查找 XSS 漏洞。

特性

  • 扩展搜索功能
  • 可自定义的配置

安装

git clone https://github.com/Damian89/extended-xss-search.git

安装后设置: 安装后,您需要进入 extended-xss-search 目录并将 example.app-settings.conf 重命名为 app-settings.conf

用途

  1. config/urls-to-test.txt 中添加要扫描的 URL
  2. 使用 python3 extended-xss-search.py 运行

来源: tools/xss_attack.py35-57

XSS-Freak

XSS-Freak 是一款完全用 Python 3 从零开始编写的 XSS 扫描器。

特性

  • 全面的 XSS 扫描
  • 基于 Python 3

安装

git clone https://github.com/PR0PH3CY33/XSS-Freak.git
cd XSS-Freak;sudo pip3 install -r requirements.txt

用途

cd XSS-Freak;sudo python3 XSS-Freak.py

来源: tools/xss_attack.py59-67

XSpear

XSpear 是一款 XSS 扫描器,实现为一个 Ruby gem。

特性

  • 基于 Ruby 的 XSS 扫描
  • 通过 gem 轻松安装

安装

gem install XSpear

用途

XSpear -h

来源: tools/xss_attack.py70-75

XSSCon

XSSCon 是一款用于检测 Web 应用程序中 XSS 漏洞的工具。

安装

git clone https://github.com/menkrep1337/XSSCon.git
sudo chmod 755 -R XSSCon

用法: 该工具会提示输入网站 URL,然后扫描该网站是否存在 XSS 漏洞。

cd XSSCon
python3 xsscon.py -u [website]

来源: tools/xss_attack.py78-90

XanXSS

XanXSS 是一款基于模板的反射型 XSS 搜索工具。

特性

  • 基于模板的有效载荷生成
  • 反射型 XSS 搜索

安装

git clone https://github.com/Ekultek/XanXSS.git

用途

cd XanXSS
python xanxss.py [Options]

来源: tools/xss_attack.py93-102

XSSStrike

XSSStrike 是一款高级 XSS 检测套件,旨在检测和利用 XSS 漏洞。

特性

  • 高级检测功能
  • XSS 漏洞利用

安装

sudo rm -rf XSStrike
git clone https://github.com/UltimateHackers/XSStrike.git && cd XSStrike && pip install -r requirements.txt

注意:此工具在代码库中被标记为不可运行。

来源: tools/xss_attack.py105-116

RVuln

RVuln 是一款多线程、自动化的 Web 漏洞扫描器,使用 Rust 语言编写。

特性

  • 多线程扫描
  • 基于 Rust,性能优越
  • 自动化漏洞检测

安装

sudo git clone https://github.com/iinc0gnit0/RVuln.git
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
sudo apt install librust-openssl-dev
cd RVuln;sudo su;cargo build --release;mv target/release/RVuln

用途

RVuln

来源: tools/xss_attack.py119-131

使用流程

下图说明了在 hackingtool 框架中使用 XSS 攻击工具的典型工作流程

来源: hackingtool.py65-107 tools/xss_attack.py134-146

实现细节

The XSSAttackTools 类继承自 HackingToolsCollection,并作为所有 XSS 相关工具的容器。它在 hackingtool.pyall_tools 列表中实例化,并在主菜单中作为选项显示。

每个单独的工具类都继承自 HackingTool 并实现必要的属性和方法

  • TITLE:工具名称
  • DESCRIPTION:工具功能的简要说明
  • INSTALL_COMMANDS:安装工具的 shell 命令
  • RUN_COMMANDS:运行工具的 shell 命令
  • PROJECT_URL:指向原始项目仓库的链接

一些工具会覆盖基类方法

  • run():运行工具的自定义逻辑
  • after_install():安装后执行的操作

来源: tools/xss_attack.py9-146

特殊注意事项

  1. XSSStrike 在代码中被标记为不可运行(runnable = False),这意味着它已安装但无法直接从 hackingtool 界面执行。

  2. XSSFinder 安装后需要手动配置。用户必须将 example.app-settings.conf 文件重命名为 app-settings.conf,并在 config/urls-to-test.txt 文件中添加要扫描的 URL。

  3. XSSCon 这样的某些工具实现了自定义运行方法,这些方法会提示用户输入(网站 URL),然后用这些参数执行工具。

  4. 许多工具需要不同的编程语言环境(Go、Python、Ruby、Rust)才能正常运行,这些环境作为工具安装过程的一部分进行安装。

来源: tools/xss_attack.py35-57 tools/xss_attack.py78-90 tools/xss_attack.py105-116