本文由“東塔網絡安全學院”總結歸納
靶場介紹:
文件上傳之PHP解析漏洞
今天,給大家介紹一下“東塔攻防世界”其中的一個靶場:“文件上傳之PHP解析漏洞”。
一、實驗介紹
1. 文件上傳漏洞簡介
在文件上傳的功能處,若服務端腳本語言未對上傳的文件進行嚴格驗證和過濾,導緻惡意用戶上傳惡意的腳本文件時,就有可能獲取執行服務端命令的能力,這就是文件上傳漏洞。
文件上傳漏洞對Web應用來說是一種非常嚴重的漏洞。一般情況下,Web應用都會允許用戶上傳一些文件,如頭像、附件等信息,如果Web應用沒有對用戶上傳的文件進行有效的檢查過濾,那麼惡意用戶就會上傳一句話木馬等Webshell,從而達到控制Web網站的目的
2. 文件上傳漏洞高危點
相冊、頭像上傳;視頻、照片分享;附件上傳(論壇發帖、郵箱);文件管理器
3. 文件上傳校驗方法
1)、客戶端2)、服務端:
檢查後綴(白黑名單繞過、特殊擴展名、大小寫、0x00截斷、.htaccess等);
檢查内容(文件頭、圖片馬等);其他
4. php解析漏洞:
解析漏洞是指服務器應用程序在解析某些精心構造的後綴文件時,會将其解析成網頁腳本,從而導緻網站的淪陷。大部分解析漏洞的産生都是由應用程序本身的漏洞導緻的。
1. lIS6.0站上的目錄路徑檢測解析繞過上傳漏洞
默認遇到/就不解析後面的了IlS6.0目錄路徑檢測解析,文件的名字為“*.asp/xxx.jpg”,也同樣會被ⅡIS當作 ASP文件來解析并執行首先我們請求laaa.asp/xxxx.jpg從頭部查找查找“."号,獲得.asp/xxxx.jpg查找"T,如果有則内存截斷,所以/aaa.asp/xxxx.jpg會當做/aaa.asp進行解析
2. IlS6.0站上的解析缺陷繞過上傳漏洞llS6.0目錄路徑檢測解析,文件的名字為"*.php;xxx.jpg”,也同樣會被ⅡIS當作PHP文件來解析并執行首先我們請求laaa.php;xxx.jpg從頭部查找查找.号,獲得.php;xxx.jpg查找;,如果有則内存截斷,所以/aaa.php;xxx.jpg會當做/aaa.php進行解析3. Apache解析缺陷繞過上傳漏洞可以用于服務器端擴展名檢測黑名單繞過。原理當浏覽器将文件提交到服務器端的時候,服務器端會根據設定的黑白名單對浏覽器提交上來的文件擴展名進行檢測,如果上傳的文件擴展名不符合黑白名單的限制,則不予上傳,否則上傳成功。4. htaccess文件上傳解析漏洞(重寫解析規則繞過).htaccess是apache服務器中的一個配置文件,不是上傳的文件的黑名單之内,所以.htaccess文件是可以上傳成功。上傳覆蓋.htaccess文件,重寫解析規則,将上傳的帶有腳本馬的圖片以腳本方式解析。編寫.htaccess文件。打開記事本,将如下代碼寫入文本中:1l AddTypeapplication / x-httpd-php.jpg然後點擊文件選中另存為,編寫文件名為.htaccess,選擇保存類型為所有文件。.htaccess文件裡的代碼的含義是将上傳的文件後綴名為.jpg格式的文件以php格式來解析文件。将.htaccess文件進行上傳,上傳成功。
二、實驗目的
1. 掌握文件上傳的功能和原理
2. 理解利用解析漏洞繞過檢測的流程和原理
三、實驗步驟
1. 打開實驗環境,了解文件上傳漏洞的原理
2. 進行文件上傳,抓包分析數據包,選擇相應的繞過方法實現上傳webshell
四、防禦方式
1. 對上傳的文件在服務器上存儲時進行重命名
2. 禁止上傳危險的文件類型,如jsp jar war等
3. 隻接收指定類型的文件
4. 上傳文件做日志記錄
5. 普通用戶與系統管理員的權限要有嚴格的區分2.強迫使用參數化語句
6. 加強對用戶輸入的驗證
7. 多使用數據庫自帶的安全參數
8. 使用專業的漏洞掃描工具來尋找可能被攻擊的點
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!