非法文件上傳漏洞技術


1 上傳技術基礎

1.1 JS驗證繞過類

  如何判斷為本地驗證呢? 一般情況下速度較快的返回信息認為是本地驗證,但有時候需要根據抓包以及跟蹤上傳代碼來分析是否為本地驗證。

  •  刪除驗證方法繞過上傳
  •  修改過濾白名單繞過上傳

  在客戶端的檢測中,通常使用JS對上傳圖片檢測,包括文件大小文件拓展名文件類型等。在繞過本地上傳限制時,可以使用Firebug對客戶端的腳本進行編輯。

1.2 MIME類型檢測繞過類

  MIME作用:使用客戶端軟件,Web服務器使用MIME來說明發送數據的種類,Web客戶端使用MIME來說明希望接收到的數據類型

  在檢測繞過過程中,可以使用BurpSuite抓包,攔截並更改相應提交數據,后述幾種繞過方法類似。

1.3 文件擴展名檢測繞過類

  PHP 語言除了可以解析以 php 為后綴的文件,還可以解析 php2php3php4php5這些后綴的文件,同時不同的服務器所支持的文件類型也不盡相同

1.4 文件內容檢測繞過類

  對於文件內容檢測,可以使用BurpSuite修改提交的數據包,可通過在末尾添加幾個空格后粘貼“一句話”,然后修改相應的尾綴為 php 。注,上述的“一句話”為一句話木馬相應的代碼。

1.5 空字符截斷目錄路徑檢測類

  對於空字符截斷目錄路徑檢測類,可以使用BurpSuite修改上傳保存的文件名,並且通過Hex進行空字符截斷。00是一個截斷字符的16進制,截斷字符后面的都會被截斷,也就是被忽略,所以對於uploading/1.php .jpg 就變成了uploadimg/1.php,從而實現了上傳php文件的目的

2 解析導致的上傳漏洞

2.1 IIS 6.0 目錄路徑解析漏洞

  在IIS 6.0目錄路徑檢測解析中,文件名字為 ".asp/xxx.jpg" 或者 ".asa/xxx.jpg",同樣會被IIS當作 ASP 文件來解析並執行。

  說明:首先請求 /aaa.asp/xxx.jpg,從頭部查找 " . ",獲得了 .asp/xxx.jpg,查找 " / ",如果有這內存截斷,所以 /aaa.asp/xxx.jpg 會當作 /aaa.asp 來進行解析。

2.2 IIS 6.0 站上的解析缺陷

  在IIS 6.0目錄路徑檢測解析,文件的名字為 ".php;xxx.jpg",也同樣會被IIS當成 PHP 文件類解析並執行。

  說明:首先請求 /aaa.php;xxx.jpg,從頭部查找 " . ",獲得了 .php;xxx.jpg,查找 " ; ",如果有則 內存截斷,所以 /aaa.php;xxx.jpg 會被當作 /aaa.php 來進行解析。

2.3 Apache站上的解析缺陷

  Apache是從后面開始檢查后綴,按最后的一個合法后綴執行。在進行繞過解析過程中,將需要上傳的木馬文件后綴名改為 .7z.cab.zip .bmp 等允許的上傳類型都可以上傳成功。

2.4 htaccess文件上傳解析漏洞

  .htaccess文件中定義了將上傳的文件后綴名為 .jpg 格式的文件以 php 格式來解析文件。.htaccess 是apache服務器中的一個配置文件,不是上傳的文件的黑名單之內,所以該類型文件可以上傳成功。

AddType    application/x-httpd-php    .jpg

3 上傳技術之編輯器

3.1 FCK編輯器

  • 查看FCKeditor版本信息
   http://www.xxx.com/fck242/_samples/default.html

   http://www.xxx.com/fck242/_whatsnew.html
  • FCKeditor上傳地址
   http://www.xxx.com/fck242/editor/filemanager/browser/default/connectors/test.html

   http://www.xxx.com/fck242/editor/filemanager/upload/test.html

   http://www.xxx.com/fck266/editor/filemaneger/connectors/test.html

   http://www.xxx.com/fck266/editor/filemaneger/uploadtest.html
  • FCKeditor漏洞利用:首先上傳圖片看編輯器是否可利用,然后結合前面的解析漏洞上傳木馬

4 防護

  • 客戶端檢測,使用JS對上傳圖片檢測,包括文件大小文件擴展名文件類型
  • 服務器端檢測,對文件大小文件路徑文件擴展名文件類型文件內容檢測對文件重命名
  • 其他限制,服務器端上傳目錄設置不可執行權限

學習筆記:http://ichunqiu.com/topics/78


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM