Kali Linux 2021.1でXSRFProbeを使用しCSRFの脆弱性を発見する

スポンサーリンク

Kali Linux 2021.1でXSRFProbeを使用しCSRF脆弱性を発見することについて解説しています。

XSRFProbe(https://github.com/0xinfection/XSRFProbe)は、クロスサイトリクエストフォージェリCSRF)の脆弱性を発見することができます。主には、リファラーベースのリクエスト、オリジンベースのリクエスト、クロスサイトクッキー検証チェック、セッションクッキーの持続性チェック、POSTベースのリクエストフォージェリの検出ができます。

またCSRF脆弱性以外にも、POST クエリでのアンチCSRFトークン、トークンの強度 、トークンのエンコーディングCSRF対策トークンのランダム性を検出することもできます。

XSRFProbeは、Linux、Window、Macでサポートされている Python3ツールキットとなります。

なお、サイバーセキュリティ対策や情報セキュリティ教育が目的でツールを利用しますので、悪用・違法行為が目的はございません。ツールを利用することで発生したトラブルや損失、損害(ウイルス感染など)に対して、一切責任を負いません。

■PC環境

Windows 10 Pro

VirtualBox6.1

Kali Linux 2021.1(Debian (64-bit))

■Kali Linuxを起動する

クリックすると、Kali Linuxが起動します。起動後、ログイン画面が表示されますのでユーザIDとパスワードを入力し「Log in」ボタンをクリックします。

クリックすると、Kali Linuxにログインすることができました。

ログイン後、上部メニューになる「ターミナルエミュレーター」をクリックし、ターミナルを起動します。

$sudo su

起動後、上記のコマンドを入力し、Enterキーを押します。スーパーユーザ(root)権限に切り替えます。

■XSRFProbeのインストール

#pip install xsrfprobe

切り替えた後に、上記のコマンドを入力し、Enterキーを押します。pipを経由し、XSRFProbeをインストールします。

Installing collected packages: yattag, stringdist, bs4, xsrfprobe Successfully installed bs4 -0.0.1 stringdist-1.0.9 xsrfprobe-2.3.1 yattag-1.14

Enterキーを押すと、インストールが開始され、上記のように表示されます。これが表示されれば、インストールは完了となります。

■XSRFProbeのインストール確認

#xsrfprobe --help

完了後、上記のコマンドを入力し、Enterキーを押します。インストール確認のためにヘルプを表示してみます。

Enterキーを押すと、ヘルプが表示されました。これでインストールの確認は完了です。

CSRF脆弱性をスキャンする

#xsrfprobe.py -u <WebサイトのURL>

完了後、XSRFProbeを使用し、CSRF脆弱性をスキャンしますので、上記のコマンドを入力し、Enterキーを押します。今回はセキュリティ教育のため、当Webサイト(https://laboratory.kazuuu.net/)を指定してみます。

Enterキーを押すと、脆弱性のスキャンが開始されます。

エンドポイントのステータスをテスト、GETリクエストの処理などが行われます。

その後、「Referer Based Request Validation(Refererベースのリクエスト検証)」が行われ、「Possible CSRF Vulnerability Detected(CSRF脆弱性の可能性を検出) :WebサイトのURL 」が表示され、次に「Possible Vulnerability Type(想定される脆弱性のタイプ):No Referer Based Request Validation(Refererベースのリクエスト検証がない)」と表示されました。これは、当Webサイト(https://laboratory.kazuuu.net/)では、CSRF脆弱性の可能性はありませんでしたという意味になります。

その後、次の検証に移ります。次は、「Origin Based Request Validation(Originベースのリクエスト検証)」となります。

先ほどと同じように「Possible CSRF Vulnerability Detected(CSRF脆弱性の可能性を検出) :WebサイトのURL 」が表示され、次に「Possible Vulnerability Type(想定される脆弱性のタイプ):No Origin Based Request Validation(Originベースのリクエスト検証がない)」と表示されました。これは、当Webサイト(https://laboratory.kazuuu.net/)では、Originベースのリクエスト検証を行ったが、CSRF脆弱性の可能性はありませんでしたという意味になります。

今回、当Webサイト(https://laboratory.kazuuu.net/)でCSRF脆弱性の可能性を調べてみましたが、CSRF脆弱性の可能性を検出することはできませんでした。