一些web應用程序中容許上傳圖片,文本或者其餘資源到指定的位置。
文件上傳漏洞就是利用網頁代碼中的文件上傳路徑變量過濾不嚴將可執行的文件上傳到一個到服務器中,再經過URL去訪問以執行惡意代碼。javascript
在網頁上寫一段Javascript腳本,校驗上傳文件的後綴名,有白名單形式也有黑名單形式。php
繞過方法:
1.直接禁用Javascript實現繞過。
2.先改爲容許上傳的文件類型,而後用Burpsuite改爲腳本文件類型,便可繞過。html
MIME (Multipurpose Internet Mail Extensions) 是描述消息內容類型的因特網標準。
繞過:用Burpsuite抓到請求包,更改Content-Type爲容許的類型。java
常見MIMETYPEweb
audio/mpeg -> .mp3 application/msword -> .doc application/octet-stream -> .exe application/pdf -> .pdf application/x-javascript -> .js application/x-rar -> .rar application/zip -> .zip image/gif -> .gif image/jpeg -> .jpg / .jpeg image/png -> .png text/plain -> .txt text/html -> .html video/mp4 -> .mp4
對目錄路徑的檢測不夠嚴謹而致使能夠用00截斷進行攻擊
繞過:/123.php%00.gif/123.gif -> /123.phpshell
1.文件名大小寫繞過,如: *.aSP *.AsP
2.名單列表繞過,如:*.asa *.cer
3.特殊文件名繞過 //windows文件名最後不能有.或空格,可設爲 *.php. 或 *.php+
4.0x00截斷繞過 //如:*.php(0x00).jpg 或 *.php%00.jpg
5.文件包含漏洞
6.服務器解析漏洞
7..htaccess
文件攻擊<FileMatch "a.jpg"> SetHandler application/x-httpd-php </FilesMatch>
segmentfault
.htaccess文件(或者"分佈式配置文件"),全稱是Hypertext Access(超文本入口)。提供了針對目錄改變配置的方法, 即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以做用於此目錄及其全部子目錄。網頁301重定向、自定義404錯誤頁面、改變文件擴展名、容許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能。
幻數 magic number,它能夠用來標記文件或者協議的格式,不少文件都有幻數標誌來代表該文件的格式。
.jpg FF D8 FF E0 00 10 4A 46 49 46 .gif 47 49 46 38 39 61 .png 89 50 4E 47
1.對渲染/加載測試的攻擊方式是代碼注入繞過
使用winhex在不破壞文件自己的渲染狀況下找一個空白區進行填充代碼,通常會是圖片的註釋區windows
2.對二次渲染的攻擊方式是攻擊文件加載器自身
若是要對文件加載器進行攻擊,常見的就是溢出攻擊;上傳本身的惡意文件後,服務器上的文件加載器會主動進行加載測試,加載測試時被溢出攻擊執行 shellcode,好比 access/mdb 溢出服務器