Subject
UPLOAD
配置文件先走
Mind Palace
多半是文件上传漏洞
继续盲猜构造文件幻术头+AntSword连接
- JPG :FF D8 FF E0 00 10 4A 46 49 46
- GIF(相当于文本的GIF89a):47 49 46 38 39 61
- PNG: 89 50 4E 47
BP抓包并修改:
反馈:非法的后缀 => 有过滤
意外的收获(其实其他的方式也尝试了许多遍;比如:.phtml
..php
..phtml
php3
...)
最后发现应该是后台过滤了一个.
;最后加多加一个的话就刚好构成可绕过的情况
但是由于文件名在那边存储的时候变成了upload.php.
似乎没办法用AntSword连接
=== 查找资料 Ing ... Done ===
制作.user.ini
文件并上传
上传upload.gif
成功找到index.php
文件并访问:
连接:
[图片上传失败...(image-1dccc4-1611673505699)]
获得flag:
Look Ahead
先上传配置文件改变后续上传文件的作用 => 亮点
.user.ini
比.htaccess
用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性
从php.ini
说起:php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:PHP_INI_SYSTEM、PHP_INI_PERDIR、PHP_INI_ALL、PHP_INI_USER
其中就提到了,模式为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 设置可被识别
References:
https://www.cnblogs.com/Lmg66/p/13272575.html
https://blog.csdn.net/weixin_44077544/article/details/102688564
关于.user.ini
:
https://www.php.net/manual/zh/configuration.changes.modes.php
https://www.php.net/manual/zh/configuration.file.per-user.php
https://www.php.net/manual/zh/configuration.changes.php
END ヽ(`⌒´)ノ