一般的な解析脆弱性と修復

4933 ワード

IIS
iis7.5脆弱性の解決
解析ファイルタイプ
  IIS6.0          asp,       :
  *.asa
   *.cer
   *.cdx

IISはファイルを解析する際、主に3つの解析脆弱性がある.
  • ディレクトリ解析
  • ファイル解析
  • 解析ファイルタイプ
  • ディレクトリ解析:原理:ウェブサイトの下で*.asp、*asa形式のフォルダの場合、そのディレクトリの下の任意のファイルはIISでaspファイルとして解析され実行されます.
    利用:例えばディレクトリwooyunを作成する.それでasp/1.jpgはaspファイルとして実行されます.
    ファイル解析:IIS 7.5の脆弱性はnginxと類似しており、phpプロファイルでcgiがオンになっているためである.fix_これはnginxやiis 7ではありません5自分の抜け穴.PS: a.aspx.a; . a.aspx.jpg…pg
    原理:IIS 6.0では、サーバのデフォルトは解析されません.番号の后ろの内容はファイルとして*です.asp;1.jpgの場合、IIS 6.0もaspスクリプトで実行されます.
    利用:ファイルasp;.jpgはサーバからwooyunと見なされます.asp
    修復案1.マイクロソフトの公式パッチはまだなく、自分で正則を書くことでxxのアップロードを阻止することができる.asp;.jpgタイプのファイル名.2.ユーザーがフォルダを作成することを制限する権限設定を行います.3.IIS 7について.5脆弱性修復案を解析しphpを修正する.iniファイル、cgi.fix_pathinfoの値を0に設定して完了したらPHPとIISを再起動してください
    iisショートファイル名の脆弱性の原因:16ビットMS-DOSプログラムと互換性のために、Windowsはファイル名の長いファイル(とフォルダ)に対応するwindows 8.3ショートファイル名を生成した.短いファイル名の特徴:上位6文字のみが直接表示され、後続文字は~1で表されます.ここで、数字1は、複数のファイル名が類似しているファイルが存在する場合(名前の最初の6桁は同じで、接尾辞の名前の3桁は同じである必要があります).接尾辞名は最長3桁で、余分なものは切り捨てられます.危害:攻撃者は「~」文字でサーバー内のファイル名を推測したり、遍歴したりすることができる.IISサーバの.Net Frameworkはサービス拒否攻撃を行います.
    「~」文字で短いファイル/フォルダ名を推測します.ワイルドカードを使用IISがファイルパスに含む"~"の要求を受信と反応が異なるiisに要求が送信.この特徴に基づいて、httpの応答に基づいて、使用可能または使用不可のファイルを区別することができる.
    そのため、このようにして、Webサイトの機密ファイル~(一般的にはバックアップファイル)をすばやく巡回することができます.
  • アクセス構造のある存在する短いファイル名は、404
  • を返す.
  • アクセス構造の存在しない短いファイル名は、400
  • を返します.
    例:IIS 6のWebサイトがhttp://www.xxx.com、それを使った短いファイルの推測方法.(注意aspxは必ずサポートし、x.aspxで判断可能)リクエストhttp://www.xxx.com/a*~1*/.aspxは404を返す、aの先頭のaxxが存在することを示す.xxxのファイル(xxx.xxxは、どのアルファベット、どの接尾辞であるかをさらに判断する必要があります).リクエストhttp://www.xxx.com/a*~1*/.aspxは400を返し、aの先頭のaxxが存在しないことを示す.xxxのファイル(xxx.xxxは、どのアルファベット、どの接尾辞であるかをさらに判断する必要があります).
    Apache
    Apache 1.xとApache 2.xには解析ホールが存在するが,IIS解析ホールとは異なる.
    原理:Apache解析ファイルのルールは、右から左へ解析を判断する拡張子が認識不能ファイル解析であれば左へ判断し、認識する拡張子に出会うまで認識しなければソースコード利用:test.php.owf.rarとtest.rar.owfの2種類はapacheが認識できない解析で、apacheはできるでしょう.php.owf.rarはphpに解析された.合法的な接尾辞かどうかをどのように判断するかがこの脆弱性の利用の鍵であり、テスト時にtestをアップロードしようとすることができる.php.rara.jpg.png...(よくある接尾辞の名前を全部書いて...)合法的な接尾辞かどうかをテストします
    修復1.apacheプロファイル、phpを禁止します.このようなファイル実行は、プロファイルにOrder ALLow,Deny Deny from all 2を加える.擬似静的エネルギーでこの問題を解決することができ、類似のものを書き換えることができる.php.*このようなファイルはapacheのhttpdを開きます.conf LoadModule rewriteを見つけたmodule modules/mod_rewrite.so#番号を削除し、apacheを再起動し、サイトのルートディレクトリの下で構築します.htaccessファイルコードは次のとおりです.
    Apacheは、どの拡張子Apacheインストールディレクトリの下にあるかを認識します.typesファイルに詳細な拡張リストがあります
    Php cgi (nginx)
    php cgi解析脆弱性Nginxは高性能のwebサーバで、通常phpの解析コンテナとして使用され、nginxも2つの「解析脆弱性」を暴露したことがある.2008年5月、国内の有名な安全チーム805 ECがこの抜け穴を発見した.しかし、後の専門家は、これはNgin特有の抜け穴ではないことを発見し、IIS 7で発見した.0, IIS7.5 LighttpdなどのWebコンテナにもこのような解析的な脆弱性がしばしば現れる.後で人々はゆっくりと発見して、このような解析の抜け穴は実はphp cgiの抜け穴です.
     php              :  cgi.fi: x_pathinfo。  
    

    オプションは、いくつかのバージョンでデフォルトでオンになっています.オンになったときにURLにアクセスします.たとえば、Nginxを使用するWebサイトでは、http://www.xxser.com/x.txt/x.php、このx.phpは存在しないファイルまたはアクセスです.http://www.xxser.com/1.jpg/1.phpあ、これ1.phpも存在しない、このときの1.jgpはPHPスクリプトとして解析されます.これは、攻撃者が合法的な「画像」(画像木馬)をアップロードし、URLに「/xxx.php」を加えることで、ウェブサイトのWebshellを得ることができることを意味します.したがってphpは前方に再帰的に解析され,解析的脆弱性をもたらすため,この脆弱性とnginxの関係はそれほど大きくないといえるが,nginxとphpの組み合わせがこの解析的脆弱性をもたらしやすいため,php cgi脆弱性は通常nginx解析的脆弱性と考えられる.
    Nginx<8.03脆弱性原理nginxのデフォルトはCGI方式でPHP解析をサポートしており、一般的にはNginxプロファイルで正規マッチングによりSCRIPT_を設定するFILENAME. 訪問する.http://192.1681.103/phpinfo. jpg/1.phpというURLの場合、f a s s t c g i s c r i p t n a m eは、"p h p i n f o.j p g/1.p h p"に設定され、S C R I P T F I L E N A M EがP H P C C G Iに伝達するように構成する、P H Pにf i x p a t h i n gというオプションがオンと、P H Pは、S C R I P T F I L E N M Eがp h p i n f oであると考える.j p g,1.p h pは、P A T H I N F Oであるため、p h p i n f oとなる.j p gはP H Pファイルとして解析した.この脆弱性を利用すると、政撃者は任意のファイルタイプをP H Pファイルとして解析することができ、攻撃者は通常この脆弱性を利用してW e b s h e l修復案1を得ることができる.p h pを修正する.i n iファイル、c g i.f i x p a t h i n f oの値は0に設定します.完成後の重量P H PとN G I N X 2.N g i n xプロファイルに、i f(fastcgi_script_nameが「phpinfo.jpg/1.php」に設定されているコードを追加します.を選択し、SCRIPT_を作成します.FILENAMEはPHP CGIに渡され、PHPでfix_がオンの場合PHPはSCRIPT_FILENAMEはphpinfoです.jpg,一方1.phpはPATH_INFOだからphpinfo.jpgはPHPファイルとして解析した.この脆弱性を利用すると、政撃者は任意のファイルタイプをPHPファイルとして解析することができ、攻撃者は通常この脆弱性を利用してWebshell修復案1を得ることができる.phpを変更します.iniファイル、cgi.fix_pathinfoの値は0に設定されています.完成後の重さPHPとNGINX 2.Nginxプロファイルにif(fastcgis criptn ameは「phpinfo.jpg/1.php」に設定されます.そしてSCRIPTF ILENAMEがPHPCGIに伝達するように構成する、PHPでfixp athingというオプションがオンの場合PHPはSCRIPTF ILENAMEがphpinfoであると考える.jpg,一方1.phpはPATHI NFOなのでphpinfo.jpgはPHPファイルとして解析した.この脆弱性を利用すると、政撃者は任意のファイルタイプをPHPファイルとして解析することができ、攻撃者は通常この脆弱性を利用してWebshell修復案1を得ることができる.phpを変更します.iniファイル、cgi.fixp athinfoの値は0に設定されます.完成後の重量はPHPとNGINX 2である.Nginxプロファイルにif(fastcgi_script_name~…*/.*php){return 403;}というコードを追加します.
    Websphere
    その他windows環境では、xx.jpg[スペース]またはxx.jpg.これらのファイルはいずれも存在することが許されない.このように命名すると、windowsはデフォルトでスペースやポイントを除去し、ハッカーはパッケージをつかむことで、ファイル名の後にスペースやポイントを追加してブラックリストを迂回することができる.アップロードに成功すると、スペースとポイントがwindowsによって自動的に消去されます.getshellもできます.