web80
打开题目,看到源码
首先,代码使用isset()函数检查是否存在名为'file'的GET参数。如果存在,代码将获取该参数的值并赋给变量$file。
然后,代码使用str_replace()函数对file变量进行两次替换操作。第一次替换将file变量进行两次替换操作。第一次替换将file中的php字符串替换为???,第二次替换将file中的data字符串替换为???。
最后,代码使用include()函数来包含$file变量所代表的文件。
看网页信息,发现是nginx服务器。
查看nginx服务器日志通常路径
/var/log/nginx/access.log
/var/log/nginx/error.log
访问 ?file=/var/log/nginx/access.log,bp抓包,发现全是user-agent
那就可以在user-agent插入一句话木马
查询目录文件
在Warning下面看到关键信息fl0g.php
同一位置发现flag
web81
这道题比web80多了一行代码
$file = str_replace(":", "???", $file);
意思是将file中的:字符串替换为???
同样也是nginx服务器。
大概流程可能和web80一样,试一下
发现与刚刚一样都是user-agent,那还是在user-agent中插入一句话木马,后续做法与web80一样