Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
SmartScanner-Source — 基于 C++17 和 Qt 6 构建的 Web 漏洞扫描器,具备 GUI、CLI、可配置爬取和 JSON 报告功能。为教育目的而重构。 | Kitploit
工具/GitHubGitHub/fauxrougee/smartscanner-source
静态分析漏洞扫描器Web漏洞扫描器漏洞分析配置审计Web安全渗透测试秘密检测学习与教育网络爬虫
GitHubfauxrougee/smartscanner-source

SmartScanner-Source

121天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →

基于 C++17 和 Qt 6 构建的 Web 漏洞扫描器,具备 GUI、CLI、可配置爬取和 JSON 报告功能。为教育目的而重构。

查看仓库
分享

SmartScanner

一个使用 C++17 和 Qt 6 构建的 Web 漏洞扫描器,具有图形界面和命令行界面。

本仓库包含 SmartScanner 3.0.0 的重建版本,仅供教育目的使用。它结合了 Web 爬取引擎、漏洞检测模块和 JSON 报告功能。

功能特性

  • Web 爬取:链接和表单分析、robots.txt 和站点地图处理、可配置的爬取深度和范围。
  • 注入测试:SQL、XSS、XXE、操作系统命令注入、文件包含和 SSRF。
  • 配置检查:HTTP 头、HTTPS/TLS、重定向、暴露的文件和目录列表。
  • 技术检测以及针对 WordPress、Joomla 和 Drupal 的定向检查。
  • 暴露的密钥检测和易受攻击的 JavaScript 库检测。
  • HTTP Basic 认证、代理支持和自定义 User-Agent 字符串。
  • JSON 报告,包含严重性级别、HTTP 证据、建议以及可用的分类信息。

执行的模块取决于配置和扫描过程中发现的资源。

环境要求

组件版本 / 详情
CMake3.21 或更高版本
编译器兼容 C++17
Qt6.2 或更高版本
Qt 模块Core、Gui、Widgets、Network、WebChannel、WebEngineWidgets、Xml
Ninja随附的 Windows 构建脚本所需

以下说明针对 Windows,使用 Visual Studio C++ 构建工具和兼容的 Qt MSVC 套件。GUI 入口点直接使用 Windows API(windows.h),因此在 Linux 或 macOS 上构建完整项目需要修改。

在为 CLI 配置项目时也需要 Qt GUI 依赖项,因为两个可执行文件共享同一个库。

在 Windows 上构建

打开一个已配置 Visual Studio 构建环境的 PowerShell 终端,然后导航到仓库根目录。根据你的安装情况调整 Qt 路径。

使用随附的脚本

root@kitploit:~
.\build.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64" -BuildType Release
.\deploy.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64"

第一个脚本使用 Ninja 构建项目。第二个脚本将可用的 Qt 库、插件和 WebEngine 资源复制到 build 目录中。

直接使用 CMake

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:\Qt\6.8.3\msvc2022_64"
cmake --build build --parallel
.\deploy.ps1 -QtPath "C:\Qt\6.8.3\msvc2022_64"

构建会生成两个可执行文件:

  • build/sms.exe:命令行界面。
  • build/gui.exe:图形界面。

assets 目录会在构建期间自动复制到可执行文件旁边。请将其与可执行文件放在一起,因为加载默认配置需要它。

使用方法

图形界面

root@kitploit:~
.\build\gui.exe

命令行界面

以下示例使用位于 http://localhost:8080 的本地测试应用程序。

root@kitploit:~
# Display help and version information
.\build\sms.exe --help
.\build\sms.exe --version

# Scan a target and save a JSON report
.\build\sms.exe -u http://localhost:8080 -o report.json

# Scan multiple targets
.\build\sms.exe -u http://localhost:8080 -u http://localhost:8081

# Load a file containing one URL per line
.\build\sms.exe -f targets.txt -o report.json

# Limit crawl depth
.\build\sms.exe -u http://localhost:8080 --crawl-depth 2

# Use HTTP Basic authentication
.\build\sms.exe -u http://localhost:8080 --auth-basic "username:password"

# Use an HTTP proxy
.\build\sms.exe -u http://localhost:8080 --proxy http://localhost:8082

# Select a test module
.\build\sms.exe -u http://localhost:8080 -t httpheaders@o=owasp,others

主要选项

CLI 接受使用 http:// 和 socks:// 方案的代理。其当前帮助文本中提到的 socks5:// 方案会被解析器拒绝。

使用 --exit-on 时,当某个问题达到或超过请求的严重性时,扫描会停止。然而,当前实现仅在发现的问题与请求的严重性完全匹配时才返回退出代码 1。

配置

assets/default-scan-config.json 文件提供了默认配置:启用的模块、HTTP 超时、并行请求、爬取、排除项、认证和表单参数。

要创建你自己的配置:

root@kitploit:~
Copy-Item assets/default-scan-config.json scan-config.json
# Edit scan-config.json, then start the scan
.\build\sms.exe -c scan-config.json -u http://localhost:8080 -o report.json

--test 接受的模块标识符列在该文件的 tests.scripts 下。--test 选项会替换配置中的模块选择。

报告

随着扫描的进行,发现的问题会显示在控制台中。--output 选项会在扫描结束时写入 JSON 报告,包含:

  • 目标、日期、状态、持续时间、请求数量和版本。
  • 检测到的问题及其严重性级别。
  • 在可用的情况下,受影响的参数、HTTP 请求/响应、建议和参考。
  • 可用的分类,包括 CWE、OWASP、CVE 和 GHSA。

目标目录必须已存在。现有的报告文件会被覆盖。

测试

冒烟测试(*_smoke.cpp)可以通过 BUILD_TESTS 启用:

root@kitploit:~
cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="C:\Qt\6.8.3\msvc2022_64" -DBUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure

当前的 CTest 配置在运行所有测试时不带参数。某些测试,包括 sms_cli_smoke、issuedb_smoke 和 httpheader_smoke,需要参数,必须使用适当的路径单独运行。因此,运行完整的 CTest 套件可能会报告由此配置导致的失败。

例如,使用以下命令运行 CLI 测试:

root@kitploit:~
.\build\sms_cli_smoke.exe .\build\sms.exe

GUI 测试需要能够初始化 Qt 和 WebEngine 的环境。

项目结构

root@kitploit:~
SmartScanner-Source/
├── CMakeLists.txt          # Shared library, executables, and tests
├── src/                    # Engine, crawler, detectors, CLI, and GUI
├── tests/                  # Smoke tests
├── assets/                 # Configuration, definitions, and scan resources
├── gui_assets/             # Embedded web interface: HTML, CSS, and JavaScript
├── sms_resources.qrc       # CLI Qt resources
├── gui_resources.qrc       # GUI Qt resources
├── build.bat               # Windows build script
├── build.ps1               # PowerShell build script
└── deploy.ps1              # Copies Qt dependencies for Windows

状态和许可证

原始文档将此项目描述为 专有,仅供教育目的重建(“Proprietary — Reconstructed for educational purposes”)。本仓库中未包含单独的 LICENSE 文件。

下载工具
选项描述
-u, --url <URL>添加一个目标;可重复使用
-f, --file <FILE>从文件读取目标
-c, --config <FILE>加载 JSON 配置
-o, --output <FILE>保存 JSON 报告
-d, --crawl-depth <DEPTH>设置爬取深度:0 禁用爬取,1 仅获取输入的 URL,2 或更高则跟随链接
--no-discovery等同于 --crawl-depth 0
--no-follow等同于 --crawl-depth 1
-s, --scope <REGEX>使用正则表达式定义范围
-t, --test <TESTS>选择模块;可重复使用
--auth-basic <user:pass>设置 HTTP Basic 凭据
--proxy <URL>配置带有明确端口的代理
--proxy-auth <user:pass>设置代理凭据
--user-agent <STRING>设置自定义 User-Agent
--exit-on <LEVEL>在达到 informational、low、medium 或 high 严重性阈值时停止扫描