Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/fauxrougee/smartscanner-source
Static AnalysisVulnerability ScannersWeb Vulnerability ScannersVulnerability AnalysisConfiguration AuditingWeb SecurityPenetration TestingSecret DetectionLearning & EducationCrawler
GitHubfauxrougee/smartscanner-source
121일 전아직 검토되지 않음

SmartScanner-Source

C++17과 Qt 6로 구축된 웹 취약점 스캐너로, GUI, CLI, 구성 가능한 크롤링, JSON 보고서 기능을 갖추고 있습니다. 교육 목적으로 재구성되었습니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

SmartScanner

C++17과 Qt 6으로 구축된 웹 취약점 스캐너로, 그래픽 및 명령줄 인터페이스를 제공합니다.

이 저장소는 교육 목적으로 SmartScanner 3.0.0을 재구성한 것을 포함합니다. 웹 크롤링 엔진, 취약점 탐지 모듈, JSON 보고 기능을 결합합니다.

기능

  • 웹 크롤링: 링크 및 폼 분석, robots.txt 및 사이트맵 처리, 구성 가능한 크롤링 깊이와 범위.
  • 인젝션 테스트: SQL, XSS, XXE, OS 명령어 인젝션, 파일 포함, SSRF.
  • 구성 검사: HTTP 헤더, HTTPS/TLS, 리다이렉트, 노출된 파일, 디렉터리 리스팅.
  • 기술 탐지 및 WordPress, Joomla, Drupal에 대한 대상별 검사.
  • 노출된 비밀 정보 탐지 및 취약한 JavaScript 라이브러리 탐지.
  • HTTP Basic 인증, 프록시 지원, 사용자 정의 User-Agent 문자열.
  • 심각도 수준, HTTP 증거, 권장 사항, 가능한 경우 분류를 포함한 JSON 보고서.

실행되는 모듈은 구성과 스캔 중 발견된 리소스에 따라 달라집니다.

요구 사항

구성 요소버전 / 세부 정보
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

주요 옵션

옵션설명
-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 심각도 임계값에서 스캔 중지

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 파일이 포함되어 있지 않습니다.

도구 다운로드