web-dev-qa-db-ja.com

WAFの回避テクニック

WAFルール構成をテストするためにWebアプリケーションファイアウォールを回避するための文書化された手法はありますか?

10
Ali Ahmad

IvanRistićの 調査を確認してください。 Qualysブログ への投稿からの抜粋:

本日、Black Hat [2012]で、Webアプリケーションファイアウォールのプロトコルレベルの回避に関する新しい研究プロジェクトを発表します。このタイプの回避は、WAFの低レベルの操作に焦点を当て、WAFがトラフィックを認識する方法とバックエンドWebサーバーおよびアプリケーションがトラフィックを認識する方法のわずかな違いを利用することを目的としています。 WAFにバックエンドで表示されているものとは異なるものを表示させると、検出なしであらゆる種類の攻撃を実行するために使用できる回避の機会があります。
[...]
この投稿に添付されているのは、リクエストパス、パラメータ、マルチパート/フォームデータの回避に焦点を当てた研究論文です。また、調査を紹介するブラックハットトークスライドも添付されています。テストスイート(一種のリサーチツールキット)は、GitHubの IronBee WAF Research リポジトリにあります。

Webアプリケーションファイアウォールv1.1のプロトコルレベルの回避(2012年7月18日).pdf
Webアプリケーションファイアウォールのプロトコルレベルの回避(Ivan Ristic、Qualys、Black Hat USA 2012)SLIDES.pdf

12
Tate Hansen

WAFのルールとメソッドは標準化されておらず、スタックの上位で機能するため、WAFがトラフィックを検査する方法を予測するのは難しい場合があります。基本的には、検出の弱点を探している、および/またはWAFがターゲットに送信された通信を適切に解釈することを可能な限り困難にしています。

使用できるいくつかのテクニック:

  • 攻撃文字列の大文字と小文字の混在(WAF正規表現構成をバイパスするために使用)
  • sQLコマンドのランダムコメント
  • URIエンコーディング
  • パケットの断片化

私がテストした1つのシンプルな自社製WAFシステムで、SQLインジェクション保護を無効にした。

' OR 1=1 --

' OR foo=foo --

ツールのトピックでは、 SQLMap および Havij はよく知られています。 SQLMap 回避スクリプト は、特定のWAF回避手法についてより深い洞察を提供する場合もあります。

IPS 回避テクニック もWAFに適用できる可能性があります。

12
schroeder
2