做线上赛的时候遇见了一道题,
题目:访问http://140.143.191.241:8081,获得服务器根目录下的flag.txt的内容
看到代码审计岁坛友点头疼,但是题目还得做啊,找源码吧。。。。找啊找。。。。找啊找。。。。扫完了目录看robots.txt,都没有发现东西。。。。尴尬了,代码在哪呢?审什么啊?
最后还是请教了大佬,说是利用到了file协议,http://140.143.191.241:8081/index.php?url=file://localhost/flag.txt访问这个链接得到flag。。。。吐了一口老血。。。。
赶快查了一下php封装协议,如下
file://— 访问本地文件系统
http://— 访问 HTTP(s) 网址
ftp://— 访问 FTP(s) URLs
php://— 访问各个输入/输出流(I/O streams)
zlib://— 压缩流
data://— 数据(RFC 2397)
glob://— 查找匹配的文件路径模式
phar://— PHP 归档
ssh2://— Secure Shell 2
rar://— RAR
ogg://— 音频流
expect://— 处理交互式的流
还记得上次线下赛被吊打的时候大佬们使用到了ftp协议挂脚本批量读出了flag。。。。。。。真是菜鸡一枚。。。。
网友评论