feifeihai 发表于 2022-7-13 13:38:11

你是否只知道htaccess但是不知道.user.ini


https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713133553.png

你是否只知道htaccess但是不知道.user.ini
回到家,iPad开机,打开大佬的文章,开卷。每当触碰到我的知识盲区,我就想研究一番

相信很多人都知道.htaccess,简单理解就是它能影响当前目录以及子目录的配置,它存放着Apache服务器配置相关的一些指令,我们经常利用它令Apache将图片格式的webshell当做脚本文件解析,达到绕过文件上传限制的目的。        微信公众号:小惜渗透,欢迎大佬一起交流进步
1.   .user.ini简介
接下来我们来了解一下.user.ini,.user.ini是php的一种配置文件,众所周知php.ini是php的配置文件,它可以做到显示报错,导入扩展,文件解析,web站点路径等等设置
去官方看一下简介https://www.php.net/manual/zh/configuration.file.per-user.phphttps://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713105331.png

从官方的简介中提取以下内容:
[*]首先此类文件必须在CGI或者FastCGI模式下才有效


还有一句话是在.user.ini风格的INI文件中只有具有PHP_INI_PERDIR和PHP_INI_USER模式的INI设置可被识别。
[*]这句话的意思就是你不能利用.user.ini来更改所有php.ini里面的配置只能更改具有PHP_INI_PERDIR和PHP_INI_USER模式的配置

什么是PHP_INI_PERDIR和PHP_INI_USER呢?
[*]PHP_INI_USER:可在用户脚本(例如 ini_set())或 Windows 注册表(自 PHP 5.3 起)以及 .user.ini 中设定
[*]PHP_INI_PERDIR:可在 php.ini,.htaccess 或 httpd.conf中设定


具体它们能修改什么配置看官方的这个表一目了然https://www.php.net/manual/zh/ini.list.php
https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713110749.png

遍历相关配置,发现有两个我们可以利用,并且还符合模式条件,auto_prepend_file和auto_append_file
它们的功能就是说白了就是文件包含,不过一个插入到文件最前,一个是插入到最后,这样的话如果我们准备一png格式的webshell,利用这种方式就可以将文件包含到一个php脚本文件里,目的就达到了。




2. 利用演示
这里用一到ctf举例CheckIn1
https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713113923.png
上来一个文件上传,尝试传文件https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713114115.png
后缀名不行,先改成jpg试试https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713114140.png
不让包含<?,这个没关系可以用<script language='php'></scirpt>来绕过https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713115123.png
成功绕过,但是出现exif_imagetype,看来后端用了这exif_imagetype,这个我们可以加上图片内容头绕过https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713122308.png
可以看到文件里面存在一个index.php,摆明了让我们利用文件包含呢,紧接着我们上传.user.ini文件, 用auto_prepend_file指明包含文件shell.jpg,由于exif_imagetype函数的限制,所以再上传.user.ini的时候也得加上图片内容头
https://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713121705.png上传成功后访问/uploads/c47b21fcf8f0bc8b3920541abd8024fd路径下的index.php,就获取到了flaghttps://mc-imgup.oss-cn-beijing.aliyuncs.com/img/20220713132657.png
总结一下,这个在实战中遇到的也少,但是还是有几率碰到的,所以当扩充知识面了。
页: [1]
查看完整版本: 你是否只知道htaccess但是不知道.user.ini