調査:ほとんどすべての一般的なファイアウォールはXSS攻撃をスキップします





セキュリティ研究者のMazin Ahmed(Mazin Ahmed)は、一般的なアプリケーションレベルのファイアウォール(Webアプリケーションファイアウォール、WAF)でXSS保護をバイパスする方法の分析結果を公開しました。



Ahmedは、人気のあるブラウザーであるGoogle Chrome、Opera、Mozilla Firefox、およびInternet Explorerを実行する複数の仮想マシンを使用しました。



研究者は、商用製品およびオープン製品を研究しました:F5 Big IP、Imperva Incapsula、AQTRONIX WebKnight、PHP-IDS、Mod-Security、Sucuri、QuickDefence、Barracuda WAF。 製品ごとに少なくとも1つのXSSベクトルが提示され、保護をバイパスできました。



JSイベントの不適切な処理



多くの有名なファイアウォールは、onwheel JSイベントとonshow JSイベントに見落とされていました。マウスでスクロールするときとメニュー項目を表示するときに、それぞれ悪意のあるスクリプトを実行できます。 特に、F5 Big IP、Barracuda WAFはこのエラーの影響を受けることが判明しました。



Quick Defenseは、「onsearch」および「ontoggle」JSイベントを使用して悪意のあるコードインジェクションを検出することもできませんでした。



ダブルURLエンコーディングとJS-F ** K



ダブルURLコーディングとJS-F ** K(6文字のセットを使用してJSコードを表すことができる)と呼ばれる手法を使用して、研究者は複数のWAFのXSSフィルターを一度にバイパスしました。 このラウンドは、Imperva Incapsula、F5 Big IP(このWAFには一度に4つの異なるラウンドがあります)、Mod-Security、PHP-IDSの影響を受けました。



その他の脆弱性



さらに、PHP-IDSルールにはエラーが含まれていたため、攻撃者はsvgタグを使用してフィルターをバイパスできました。 また、Sucuri WAFは、us-asciiエンコーディングでのデータの7ビット表現の可能性を考慮しませんでした。これは、Internet Explorer 6および7で認識されています。



¼script¾alert(¢xss¢)¼/script¾







すべてのラウンドの詳細な説明は研究で提示されます。



研究者は、検出されたセキュリティエラーに関する情報を、調査に関係するすべてのファイアウォールの開発者に渡しました。 それらのほとんどはすでにパッチをリリースしているか、製品の次のバージョンのバグを修正する予定です。PHP-IDS開発チームからの回答はありませんでした。



そして、私たちはどうですか



Ahmedによって記述された回避策への暴露について、自己学習PT Application Firewall(PT AF)をテストしました。 防衛の運用に関して考えられる3つのシナリオを検討します。



(1)訓練されたシステムはそのような攻撃をブロックし、アプリケーションへの異常なリクエストとして扱います:







(2)PDFの例に類似した攻撃は、正規表現によってブロックされます。







(3)ユーザー入力が何らかの形ですべてのPT AF保護メカニズムをバイパスし、サーバー応答に表示された場合、それらはHTMLページのコンテキストでエスケープされます。







PS

WAFテーマに近い場合は、PT Application Firewall開発チームに参加してください-

habrahabr.ru/company/pt/blog/266415



All Articles