一、漏洞環境
docker環境
http://192.168.99.124:8082
二、漏洞原理
Apache HTTPD是一款HTTP服務器,它可以通過mod_php來運行PHP網頁。其2.4.0~2.4.29版本中存在一個解析漏洞,在解析PHP時,1.php\x0A
將被按照PHP后綴進行解析,導致繞過一些服務器的安全策略
漏洞版本:2.4.0~2.4.29
三、漏洞復現
1.右擊桌面打開終端(linux系統)
2.創建一個1.php文件
touch 1.php
3.編寫文件內容
<?phpinfo()?>
4.把桌面的burpsuite.sh
拖入終端模擬器,回車,打開burpsuit.
5.打開火狐瀏覽器,在設置-網絡設置-中配置代理。
6.按下圖配置代理
7.在網頁中輸入ip
http://192.168.99.124:8082
8.瀏覽剛剛創建的1.php文件
9.打開burpsuite中代理-開啟攔截
10.在瀏覽器中點擊提交查詢,就可以在burpsuite中可以看到我們提交的數據包
11.右擊-發送給Repeater(send to repeater),把攔截的這個數據包發送到重放器中。
12.在重放器中可以看到剛才攔截的數據包,點擊“發送”,可以看到響應包中返回“bad file”,說明php文件上傳失敗。
13.在evil.php
后面插入一個\x0A
(注意,不能是\x0D\x0A
,只能是一個\x0A
),不再攔截:
14.訪問剛才上傳的evil.php%0a
發現能夠成功解析,但這個文件不是php后綴,說明目標存在解析漏洞:
http://192.168.99.124:8082/evil.php%0a