【セキュリティ】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