該如何查找網(wǎng)站存在的文件上傳漏洞?
  • 更新時間:2024-10-23 02:44:30
  • 建站經驗
  • 發(fā)布時間:2年前
  • 709

在日常對客戶網(wǎng)站進行滲透測試服務的時候,我們SINE安全經常遇到客戶網(wǎng)站,app存在文件上傳功能,程序員在設計開發(fā)代碼的過程中都會對上傳的文件類型,格式,后綴名做安全效驗與過濾判斷,SINE安全工程師在對文件上傳漏洞進行測試的時候,往往發(fā)現(xiàn)的網(wǎng)站漏洞都是由于服務器的環(huán)境漏洞導致的,像IIS,apache,nginx環(huán)境,都存在著可以導致任意文件上傳的漏洞。


關于導致文件上傳漏洞的產生以及測試,我們來詳細的分析一下:


IIS解析漏洞導致的任意文件上傳

首先比較常見的是客戶網(wǎng)站使用的IIS環(huán)境來搭建的,一般是IIS+PHP+Mysql數(shù)據(jù)庫組合,或者IIS+aspx+sql2005數(shù)據(jù)庫,IIS存在解析漏洞,當創(chuàng)建文件名為.php的時候,在這個目錄下的所有文件,或者代碼,都會以PHP腳本的權限去運行,比如其中一個客戶網(wǎng)站,可以將上傳的目錄改為1.php,那么我們上傳的jpg文件到這個目錄下,訪問的網(wǎng)址是域名/1.php/1.jpg從瀏覽器里訪問這個地址,就會是php腳本的權限運行。當上傳網(wǎng)站木馬webshell過去,就會直接拿到網(wǎng)站的管理權限。存在IIS解析漏洞的版本是5.0-6.0版本。

nginx解析漏洞導致的任意文件上傳


nginx是靜態(tài)訪問,以及大并發(fā),能夠承載多人訪問,目前很多網(wǎng)站都在使用的一種服務器環(huán)境,簡單來講就是HTTP訪問的代理,高速穩(wěn)定,深受很多網(wǎng)站運營者的喜歡,在nginx最低版本中存在解析漏洞,可以導致運行PHP腳本文件,漏洞產生的原因是由于php.ini配置文件與nginx配合解析的時候,將默認的后綴名認為是最重的文件名,導致可以修改后綴名來執(zhí)行PHP文件。我們SINE安全在滲透測試中發(fā)現(xiàn)客戶網(wǎng)站開啟nginx以及fast-cgi模式后,就會很容易的上傳網(wǎng)站木馬到網(wǎng)站目錄中,我們將jpg圖片文件插入一句話木馬代碼,并上傳到網(wǎng)站的圖片目錄中。


我們在訪問這個圖片的時候,直接在后面輸入/1.php,就會導致圖片文件以php腳本權限來運行了。如下圖所示:

apache解析漏洞導致的任意文件上傳

apache也是目前使用較多的一個服務器環(huán)境,尤其php網(wǎng)站使用的較多,因為穩(wěn)定,快速,易于PHP訪問,可以將第三方的一些開發(fā)語言編譯到網(wǎng)站中,apache也是存在漏洞的,尤其在apache1.0-2.0版本中,后綴名判斷這里沒有做詳細的規(guī)定,導致可以繞過apache安全機制,上傳惡意的文件名。默認是允許多個后綴名進行解析的,如果命名的后綴名不被apache認可解析,就會向前尋找后綴名,直到后綴名是apache認可的,就會直接解析成功。 該文件上傳漏洞使用的條件是需要開啟module模式,不是這個模式的上傳不了。我們SINE安全在對客戶網(wǎng)站進行滲透測試的時候,首先會改后綴名為apache不認可的,然后POST上傳過去,直接運行php腳本。如下圖所示:


總的來說導致任意文件上傳漏洞的發(fā)生也存在于服務器環(huán)境中,那么在滲透測試過程中該如何的修復漏洞呢?將IIS版本升級到7.0以上,Nginx版本也升級到最新版本,包括apache版本升級到2.4以上,在上傳功能代碼里對其進行文件格式的判斷,限制目錄的創(chuàng)建,可杜絕以上的問題的發(fā)生。

我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!

本文章出于推來客官網(wǎng),轉載請表明原文地址:https://www.tlkjt.com/experience/7614.html
推薦文章

在線客服

掃碼聯(lián)系客服

3985758

回到頂部