ファイルアップロードのバグ利用のまとめ
2376 ワード
この数日間ずっとファイルのアップロードホールを見ています.たくさんの大牛がたくさんの姿勢をまとめて勉強してみました.(1)一般アップロード検出フロー
^_^クライアントのjavascriptチェック(一般的にはファイルの拡張子のみをチェックする)は迂回します.アップロードボタンをクリックしていないときにダイアログが開きます.Burpsuitエージェントを利用して、ファイルの拡張子を変更します.firebugなどの審査要素ツールを使って、拡張子を判断するjavascriptスクリプトを禁止することもできます.
^_^ファイルのヘッダを確認します.ファイルの内容を確認します.ヘッダチェック(GIF 89 a)バイパス方法:Burpスナップバッグは該当フィールドを修正します.JPG:FF 8 FF E 0 0 A 46 GIF:47 49 46 46(GIF 89 a)PNG:89 4 E 47*バイパス方法:ファイルのスライドの後に自分の言葉を加えます.
ファイル関連情報の検出:一般的に画像ファイルのサイズ、画像ファイルのサイズなどの情報をチェックします.迂回方法:ファイルのスライドを作って、後に一言の木馬を追加してから、他の内容を追加して、ファイルのサイズを大きくします.
^_^WAFデバイス検証(WAF製品によって異なります)
アップロードの脆弱性に合わせて、一般的には脆弱性を解析する必要があります.
IIS 6.0解析ホール:カタログ解析:サイトに名前が.asp、.asa形式のフォルダを作成する場合.そのディレクトリの任意のファイルはaspとして実行されます.ファイル解析:ファイル名が*.aspである場合;1.jpgの場合は、aspとしても実行されます.この時はセミコロンの後の部分が解析されないためです.Appache解析の脆弱性:Appacheはファイルを解析する時、右から左にかけて、認識されていない拡張子に出会うと、引き続き左に判断します.例えば1.php.rarは、Appheがphp解析として返します.IIS 7.0/IIS 7.5/Ngix<0.8.3奇形解析ホール:訪問時http://xxx.xom/1.jpg/1.phpこの時、1.phpは存在しません.1.jpgをphpとして解析します.これはphp配置でcgi.fi:x_このオプションがオンになったら、アクセスします.http://xxx.xom/1.jpg/1.phpは、1.phpは存在しません.すべてのphpは前方に再帰的に解析され、解析の脆弱性を引き起こします.
その他のテクニック
サーバー構成が不適切なWebDAVはHTTP 1.1プロトコルに基づく通信プロトコルであり、HTTP 1.1を拡張し、GET、POST、HEADなどいくつかのHTTP標準方法以外に新しい方法を追加しました.アプリケーションを直接Web Serverに読み、書き込み可能にし、ファイルロックやアンロックをサポートし、ファイルのバージョン制御にも対応します.WebDAVがPUT、MOVE、COPY、DELETEメソッドを開くと、攻撃者は危険シナリオファイルをサーバにアップロードすることができます.この場合、OPTOPTNS探知サーバーでサポートされているhttpメソッドを使用して、PUTをサポートすれば、スクリプトファイルをアップロードし、MOVEまたはCOPY方法で改名します.DELETEを開くとファイルを削除することもできます.参考:http://wiki.wooyun.org/server:httpput
^_^クライアントのjavascriptチェック(一般的にはファイルの拡張子のみをチェックする)は迂回します.アップロードボタンをクリックしていないときにダイアログが開きます.Burpsuitエージェントを利用して、ファイルの拡張子を変更します.firebugなどの審査要素ツールを使って、拡張子を判断するjavascriptスクリプトを禁止することもできます.
^_^ファイルのヘッダを確認します.ファイルの内容を確認します.ヘッダチェック(GIF 89 a)バイパス方法:Burpスナップバッグは該当フィールドを修正します.JPG:FF 8 FF E 0 0 A 46 GIF:47 49 46 46(GIF 89 a)PNG:89 4 E 47*バイパス方法:ファイルのスライドの後に自分の言葉を加えます.
ファイル関連情報の検出:一般的に画像ファイルのサイズ、画像ファイルのサイズなどの情報をチェックします.迂回方法:ファイルのスライドを作って、後に一言の木馬を追加してから、他の内容を追加して、ファイルのサイズを大きくします.
( Path )
分かりませんでした ( extension )
*ホワイトリストの検出は、指定されたファイルタイプのアップロードだけが許可されています.例えば、jpg_gif_docなどのファイルをアップロードするだけで、他のすべての回避方法は禁止されています.ファイル名の大きさはAsp、pHpなどのファイル名を迂回してブラックリストリストのリストを回ってブラックリストにないリストを使って攻撃します.例えば、ブラックリストにasaやcerなどの特殊なファイル名が含まれていません.例えば、送ったhttpパッケージにファイル名をtest.aspに変更したり、test.aspに変更したりします.(アンダースコアはスペースとなります)このネーミングはwindowsシステムでは許されないので、Brpなどで修正してからバイパスして検証してから、windowsシステムに自動的に後ろの点とスペースを削除されますが、Unix/Linuxシステムはこの特性がないので、0 x 00でファイル名を切断してから%00バイトになります.いくつかの関数によるファイル名の判定を切り詰めることができます.多くの言語関数において処理関数において、処理文字列において拡張子検出のほとんどがaspのプログラムにこのような脆弱性があり、簡単な疑似コードName=getname////このステップで取得したファイル名がdama.asp.jpg Type=gettype/この関数では、ファイルの拡張子をスキャンします.したがって、jpgファイルIf(type==jpg)SavefileToPath(UploadPath.name)//と判断されましたが、ここでは0 x 00をファイル名として切り捨て、dama.aspを経路に入れます.^_^WAFデバイス検証(WAF製品によって異なります)
アップロードの脆弱性に合わせて、一般的には脆弱性を解析する必要があります.
IIS 6.0解析ホール:カタログ解析:サイトに名前が.asp、.asa形式のフォルダを作成する場合.そのディレクトリの任意のファイルはaspとして実行されます.ファイル解析:ファイル名が*.aspである場合;1.jpgの場合は、aspとしても実行されます.この時はセミコロンの後の部分が解析されないためです.Appache解析の脆弱性:Appacheはファイルを解析する時、右から左にかけて、認識されていない拡張子に出会うと、引き続き左に判断します.例えば1.php.rarは、Appheがphp解析として返します.IIS 7.0/IIS 7.5/Ngix<0.8.3奇形解析ホール:訪問時http://xxx.xom/1.jpg/1.phpこの時、1.phpは存在しません.1.jpgをphpとして解析します.これはphp配置でcgi.fi:x_このオプションがオンになったら、アクセスします.http://xxx.xom/1.jpg/1.phpは、1.phpは存在しません.すべてのphpは前方に再帰的に解析され、解析の脆弱性を引き起こします.
その他のテクニック
サーバー構成が不適切なWebDAVはHTTP 1.1プロトコルに基づく通信プロトコルであり、HTTP 1.1を拡張し、GET、POST、HEADなどいくつかのHTTP標準方法以外に新しい方法を追加しました.アプリケーションを直接Web Serverに読み、書き込み可能にし、ファイルロックやアンロックをサポートし、ファイルのバージョン制御にも対応します.WebDAVがPUT、MOVE、COPY、DELETEメソッドを開くと、攻撃者は危険シナリオファイルをサーバにアップロードすることができます.この場合、OPTOPTNS探知サーバーでサポートされているhttpメソッドを使用して、PUTをサポートすれば、スクリプトファイルをアップロードし、MOVEまたはCOPY方法で改名します.DELETEを開くとファイルを削除することもできます.参考:http://wiki.wooyun.org/server:httpput