萬盛學電腦網

 萬盛學電腦網 >> 安全資訊防護 >> apache解析漏洞的修復方法

apache解析漏洞的修復方法

    apache對文件後綴的解析方法是“。”後邊的都是後綴,從後到前,如果後綴無效,會解析前一個,例如 1.php.x1.x2.x3 他會先解析x3,不存在解析x2,不存在解析x1,都不存在就只能解析php了。如圖:

 

    定義後綴,但是不可能所有後綴都定義吧?x1.x2.x3可以換成任意後綴

    例如1.php.a,。a沒有定義,apache不明白a是什麼後綴,就向前解析,也就是去解析php.

    用偽靜態能解決這個問題,重寫類似。php.*這類文件

    打開apache的httpd.conf

    找到LoadModule rewrite_module modules/mod_rewrite.so

    把#號去掉,重啟apache,在網站根目錄下建立。htaccess文件,代碼如下:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .(php.|php3.) /index.php
RewriteRule .(pHp.|pHp3.) /index.php
RewriteRule .(phP.|phP3.) /index.php
RewriteRule .(Php.|Php3.) /index.php
RewriteRule .(PHp.|PHp3.) /index.php
RewriteRule .(PhP.|PhP3.) /index.php
RewriteRule .(pHP.|pHP3.) /index.php
RewriteRule .(PHP.|PHP3.) /index.php
</IfModule>

    可能會誤殺,對我來說暫時也沒發現誤殺。根據自己要求修改自己定義的執行php的後綴,用|隔開就行。 /index.php可以換成你想要顯示的文件。

    效果如圖:

 


copyright © 萬盛學電腦網 all rights reserved