一丶漏洞原理
Apache可以通過mod_php來運行PHP網頁,漏洞的根本原因在于正則運算式符$,$可以匹配字串結尾的換行符'\n'或'\r'

上圖默認組態檔里的SetHandler application/x-httpd-php表示將符合FileMatch標簽中正則運算式的檔案均當做php檔案來執行,

如果后綴名是上面這些后綴名以換行符結尾(%0A=\n),那么也是可以決議,
二丶漏洞影響版本
2.4.0-2.4.29
三丶漏洞環境
1丶進入vulhub/httpd/CVE-2017-15715,修改index.php檔案,添加一個上傳表格,


2丶docker-compose build(創建鏡像)
docker-compose up -d(運行鏡像)

3丶運行時竟然還報錯,發現是埠占用的問題,使用netstat -anp|grep 8080查看占用pid,發現運行著java服務,

4丶 殺掉對應pid再運行,成功
![]()

5丶 啟動后訪問http://your-ip:8080
四丶漏洞復現
1丶先正常上傳.php檔案,發送資料包提示bad file

2丶輸入的1.php后面插入一個\x0A(使用16進制),不再攔截

3丶訪問剛才上傳的/1.php%0a,發現能夠成功決議,但這個檔案不是php后綴,說明目標存在決議漏洞:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290793.html
標籤:其他
上一篇:CTF—圖片隱寫+資料隱寫
