文件上傳繞過的一些思路

  • 如果只有前端檢查直接改爲shell.php.jpg繞過檢測然後再上傳截包改爲shell.php
  • 如果代碼檢查文件類型則截包改文件類型改成 image/png
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 0x00截斷(shell.php空格.jpg再截包把%20改爲00),或者命名爲shell.php%00.jpg,再截包urldecode
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
  • 利用解析漏洞IIS6.0、IIS7.5、Apache、Nginx,改文件名test.php;.jpg /test.asp/test.jpg test.jpg/.php等進行繞過

IIS 6.0

(1) 目錄解析
以*.asp命名的文件夾裏的文件都將會被當成ASP文件執行。
(2) 文件解析
*.asp;.jpg 像這種畸形文件名在“;”後面的直接被忽略,也就是說當成 *.asp文件執行。

IIS 7.0/7.5

IIS7/7.5在Fast-CGI運行模式下,在一個文件路徑(/xx.jpg)後面加上/xx.php會將/xx.jpg/xx.php 解析爲 php 文件;找個地方上傳 test.jpg ,然後找到 test.jpg 的地址,在地址後加上 /xx.php 即可執行惡意文本。圖片內寫入一句話內容。

Apache

例如:test.php.360,無法識別360的後綴apache就會進行修補,繼續向左識別直到能識別文件類型爲止。Apache文件解析漏洞與用戶的配置有密切關係,嚴格來說屬於用戶配置問題 ;Apache默認一個文件可以有多個以點分隔的後綴,當右邊的後綴無法識別(不在mime.tyoes內),則繼續向左識別,當我們請求這樣一個文件:shell.xxx.yyy

Nginx

例:test.jpg/x.php,對任意文件名,在後面添加 /任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加test.jpg/x.php進行解析攻擊。

  • 黑名單檢測繞過
    這類型只是針對黑名單裏規則裏的文件後綴進行檢測,有很多思路
    (1)文件名大小寫繞過
    (2)特殊文件名 例如phtml、cer等
    (3)php文件包含,如果無解析漏洞可用,有文件包含可以使用文件包含使圖片或者其它格式的文件解析爲php (例如DVWA高難度等級的文件上傳使用文件包含來解析)
    (4).htaccess文件攻擊;黑名單沒有限制.htaccess文件的上傳,我們可以構造一個

建一個.htaccess 文件然後上傳,裏面的內容如下:

<FilesMatch "halo">
SetHandler application/x-httpd-php
</FilesMatch>

這個時候就再上傳一個文件名字是halo的文件,不要後綴名,然後裏面是一句話木馬,用菜刀連接。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章