如何在我的網站上找到文件上傳漏洞?

在客戶網站的日常滲透測試服務中,我們經常會遇到客戶網站。app具有上傳文件的功能。程序員在設計和開發代碼的過程中,會對上傳的文件類型、格式和后綴進行安全驗證和過濾判斷。在測試文件上傳漏洞時,經常發現的網站漏洞是由服務器環境漏洞造成的,如IIS、apache、nginx NGINX環境,這些環境都有可能導致任何文件上傳的漏洞。
關于文件上傳漏洞的生成和測試,讓我們詳細分析它們:
任何由IIS解析漏洞導致的文件上載
首先,構建客戶端網站使用的IIS環境是很常見的。一般來說,它是由IIS php Mysql數據庫或IIS aspx sql2005數據庫組合而成的。IIS有一個解析漏洞。創建文件名時。這個目錄中的所有文件或代碼都將在PHP腳本的許可下運行,比如一個客戶端網站。您可以將上傳的目錄更改為1.php,然后如果我們將jpg文件上傳到這個目錄,并從瀏覽器訪問域名/1.php/1.jpg的地址,php腳本將有權運行。過去上傳網站木馬時,你會直接獲得網站的管理權限。存在IIS分析漏洞的版本是5.0-6.0版。
由nginx解析漏洞導致的任何文件上載
Nginx是一個靜態訪問,具有很大的并發性,可以進行多次訪問。目前,許多網站正在使用服務器環境。簡單地說,它是HTTP訪問的代理。它速度快且穩定,受到許多網站運營商的喜愛。在最低版本的nginx中存在一個解析漏洞,這可能導致運行PHP腳本文件。該漏洞的原因是,當php.ini配置文件與nginx一起被解析時,默認的后綴名稱被認為是最重的文件名,因此后綴名稱可以被修改以執行php文件。在滲透測試中,我們發現客戶端網站打開nginx和fast-cgi模式后,很容易將網站木馬上傳到網站目錄。我們將jpg圖片文件插入一個句子木馬代碼,并上傳到網站的圖片目錄。
當我們訪問這張圖片時,我們直接在后面輸入/1.php,這將導致圖片文件以php腳本權限運行。如下圖所示:
apache解析漏洞導致的任何文件上傳
Apache也是目前使用較多的服務器環境,尤其是php網站。因為它穩定、快速且易于訪問PHP,所以它可以將一些第三方開發語言編譯成網站。阿帕奇也有漏洞。特別是在apache 1.0-2.0版本中,后綴名稱判斷沒有詳細的規定,這可以繞過Apache安全機制并上傳惡意文件名。默認情況下,允許解析多個擴展名。如果apache無法識別和解析命名的擴展名,它將期待找到擴展名,直到apache能夠識別擴展名,并且它將被直接成功解析。此文件上載漏洞的條件是需要打開模塊模式,而不是無法上載此模式。當我們在客戶網站上進行滲透測試時,我們首先將后綴名稱改為apache not approved,然后發布它并直接運行php腳本。如下圖所示:
一般來說,任何文件上傳漏洞的發生也存在于服務器環境中,那么如何在滲透測試中修復該漏洞呢?將IIS版本升級到7.0以上,將Nginx版本升級到最新版本,包括將apache版本升級到2.4以上,可以通過判斷上傳功能代碼中的文件格式并限制目錄的創建來防止上述問題。
- 上一篇:Seo顧問是一個什么職位
- 下一篇:關于修訂收錄條款的建議