Apache Range Exploit Detector_01.gif

近期Apache又發生了漏洞危機,可藉由Dos攻擊阻斷服務,輕鬆地讓Apache停止服務,若是採用Apache架站的朋友得特別留意囉!或是你承租的虛擬主機是使用Apache的話,也記得自己補強一下,或是通知虛擬主機廠商要求改善。

線上檢測

檢測網址:http://apache-range-exploit.com/
首先我們可以透過以上網址進行檢測,將自己的網址填入Find的右側欄位,之後點選下方的Submit按鈕開始檢測。

Apache Range Exploit Detector_02.gif

若是有風險Vulnerable的欄位則會顯示紅色的YES,若是沒有的話也可以再透過以下的php程式自行檢測一下。

php檢測
[code]function check_for_exploit($host,$port=80,$timeout=10){
$range = '0-1';
for($i=0;$i<20;$i++){
$range .= ",5-$i";
}

$error_code = null;
$error = null;

$socket = fsockopen($host,$port,$error_code,$error,$timeout);
$packet = "HEAD / HTTP/1.1\r\nHost: $host\r\nRange:bytes=$range\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";
fwrite($socket,$packet);
$result = fread($socket,2048);
//check to see if "Partial" is in the response
if(strstr($result,"Partial") !== false){
return true;
}
return false;
}[/code]

簡易處理方法
  • 利用mod_rewrite模組修復,在網站的.htaccess檔案內加入
    [code]RewriteEngine on
    RewriteCond %{HTTP:range} !(^bytes=[^,]+(,[^,]+){0,4}$|^$)
    RewriteRule .* - [F][/code]
  • 利用setenvif_module模組修復,在網站的.htaccess檔案內加入
    [code]SetEnvIf Range (,.*?){5,} bad-range=1
    RequestHeader unset Range env=bad-range
    # optional logging, uncomment and set path to log matches
    # CustomLog /var/log/range-CVE-2011-3192.log common env=bad-range[/code]
  • 利用headers_module模組修復,在網站的.htaccess檔案內加入
    [code]RequestHeader unset Range[/code]
前兩種方式是比較推薦的解決方式,也可以加入httpd.conf的全域設定,若是apache不能升級到最新版本,就用以上的方式暫時防禦一下囉!
更多資訊請參考:
遠傳網路門市 4.5G 上網吃到飽,只要 599 元!加碼日本除蟎機、美國空氣清淨機、航海王行李箱 0 元帶回家!
HUAWEI P20 Pro 開箱評測,拍照手機就是這一支!三鏡頭與手持夜拍太猛了!
開箱 ASUS ZenFone 5 智慧 AI 手機,生活智慧與手機的結合
【開箱】米家石頭掃地機器人,連拖地都一次搞定!Qoo10 全球購物網
開箱 PAPAGO! WayGO! 550 五吋導航機,可搭配 GoSafe TPMS 300 胎壓偵測器
虛擬主機推薦|台灣 VPS 推薦