目錄
- 0x01 漏洞介紹
- 0x02 環境部署:
- 0x03 漏洞復現
- 1. 成功訪問主頁
- 2. 上傳php檔案
- 3. 上傳gif檔案
- 4.修改后綴,增加截斷
- 5. 訪問成功
- 6. 上傳木馬檔案
- 7. 修改后綴
- 8. 命令執行成功
0x01 漏洞介紹
-
漏洞描述
這個漏洞其實和代碼執行沒有太大的關系,主要原因是錯誤地決議了請求的URL,錯誤地獲取到用戶請求的檔案名,導致出現權限繞過、代碼執行的連帶影響,這是一個nginx決議漏洞, -
漏洞編號
CVE-2013-4547 -
受影響版本
Nginx 0.8.41~1.4.3
Nginx 1.5.0~1.5.7 -
漏洞原理:
Nginx匹配到.php結尾的請求,就發送給fastcgi進行決議,寫法如下
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/www/html;
}
正常情況下(關閉pathinfo的情況下),只有.php后綴的檔案才會被發送給fastcgi決議,而存在CVE-2013-4547的情況下,我們請求1.gif[0x20][0x00].php ,這個URI可以匹配上正則 .php$,可以進入這個Location塊;但進入后,由于fastcgi在查找檔案時被\0截斷,Nginx卻錯誤地認為請求的檔案是1.gif[0x20],就設定其為SCRIPT_FILENAME的值發送給fastcgi,
0x02 環境部署:
搭建一次,復現百次
靶機 ip:192.168.30.209
kali ip:192.168.30.182
開啟環境:


0x03 漏洞復現
1. 成功訪問主頁
環境搭建成功

2. 上傳php檔案
上傳失敗

3. 上傳gif檔案
在gif檔案后加上一個空格,上傳成功

4.修改后綴,增加截斷
訪問上傳檔案 phpinfoa.gif[0x20][0x20].php時,將檔案修改為phpinfoa.gif[0x20][0x00].php
[0x20]為空格,[0x00]為\0(起到截斷作用)

5. 訪問成功

6. 上傳木馬檔案
給檔案名后面加上空格

7. 修改后綴
訪問上傳檔案 sysexec.jpg[0x20]時,將檔案修改為 sysexec.jpg[0x20][0x00].php
[0x20]為空格,[0x00]為\0(起到截斷作用)

8. 命令執行成功

漏洞復現成功
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/301683.html
標籤:其他
下一篇:XXE、反序列化漏洞簡述
