【セキュリティ】HTML インジェクションとは(備忘録)
1.インジェクションとは
インジェクション攻撃とは、データベースやプログラムの脆弱(ぜいじゃく)性を利用したサイバー攻撃や不正アクセスの総称です。
乗っ取り被害や顧客情報の流出などは、まさにインジェクション攻撃の典型的な例です。
引用:HTMLのインジェクション攻撃を防ぐ方法を現役デザイナーが解説【初心者向け】
2.実際にやってみたーその1
〇検証環境:bWAPP(VirtualBox上に環境構築)
〇使用ブラウザ:FireFox
手順1.
「HTML Injection - Reflected (GET)」を選択します。
手順2.
・操作内容
入力フォームにtestと入力し、「Go」ボタンを押下します。
・結果
入力した文字列(test)が表示されました。
このように入力した文字列が表示されると、「htmlインジェクションができるのではないか」
と判断される可能性があります。
手順3.
・操作内容
入力フォームに下記パラメーターを入力し、「Go」ボタンを押下します。
<h1>Hello</h1>
<h2>Test</h2>
パラメーターを入力した画面です。
・結果
HTMLタグで囲んだ文字列が表示されました。
HTMLインジェクションは可能と判断できます。
3.実際にやってみたーその2
〇検証環境:bWAPP(VirtualBox上に環境構築)
〇使用ブラウザ:FireFox(FoxyProxyをインストール)
〇使用ツール:BurpSuite
手順1.
「HTML Injection - Reflected (POST)」を選択します。
手順2.
BurpSuiteのProxy/Interceptを「OFF」にします。
手順3.
入力フォームに下記パラメーターを入力します。
<h1>Bye</h1>
<h2>Test</h2>
実際の画面です。
手順4.
BurpSuiteのProxy/Interceptを「ON」にします。
手順5.
・操作内容
ブラウザに表示されている入力フォーム下の「Go」ボタンを押下します。
・結果
BurpSuiteの画面です。
入力した内容も反映されています。
firstname=%3Ch1%3EBye%3C%2Fh1%3E&lastname=%3Ch2%3ETest%3C%2Fh2%3E&form=submit
手順6.
・操作内容
BurpSuiteの表示画面を書き換えます。
firstname=<h1>Good</h1>&lastname=<h2>Study</h2>
書き換え後に、BurpSuiteの「Forward」を押下します。
「Forward」押下前のBurpSuiteです。
・結果
書き換えた内容が反映されていました。
4.注意
この記事で紹介した内容は、独自に用意した検証用サイトに対して行いました。
企業・団体等のサイトに対し攻撃すると、違法行為として処罰される可能性があります。
Discussion