知识点补充:
"文件包含"漏洞 。当代码中使用了如 include(), require(), file_get_contents() 等函数,并且其参数(文件名/路径)用户可控时,就可能存在此漏洞。
常用伪协议总结:
1. php://filter :用来读取 PHP 文件的源代码。
php://input :用于执行代码 允许你访问原始的 HTTP 请求体(POST Data),<?php system('ls /'); ?>(post请求内容构造需要执行的代码,列出根目录文件);
解题思路:
1.根据上述补充,看到题目可以知道考察伪协议
2.使用burp抓包,再利用上述伪协议使用可执行PHP的代码
html
?url=php://input? ---- GET请求的url中拼接伪协议
<?php sustem('ls')?> ---- post请求内容构造需要执行的代码

3.根据回显内容,知道flag就在ctf_go_go_go的文件里,直接在url里面拼接,得到flag
html
/?url=ctf_go_go_go
