首页 > 其他分享 >user

user

时间:2023-05-24 16:48:00浏览次数:36  
标签:文件 配置文件 jpg user php ini

.htaccess

httpd-conf 是 Apache 的系统配置文件,一个全局的配置文件,对整个 web 服务起作用;而.htaccess 也是 Apache 的配置文件,不过相当于一个局部配置文件,只对该文件所在目录下的文件起作用。

实例

在绕过文件上传的限制中,通常在 Apache 全局配置文件 httpd.conf 中有这样一条配置:

AddType application/x-httpd-php .php .phtml

这条配置的意思就是将.php、.phtml 文件后缀的文件当做 php 文件执行,如果开启了这条配置,就可以上传.phtml 文件在执行 php 代码,这也就是为什么在文件上传时可以尝试上传.phtml,不过在高版本中这条配置默认是关闭的,也就是只能解析.php 文件后缀。

或者这条配置:

SetHandler application/x-httpd-php

将所有文件都解析为 php 文件。

通常全局文件我们都是不可更改的,而 Apache 还有一个局部配置文件.htaccess,这个配置文件只对该目录所在的 web 目录起作用,例如:我们在 www 目录下有一个.htaccess 配置文件,配置内容为 AddType application/x-httpd-php .jpg ,将 jpg 文件当做 PHP 文件解析。这样就可以直接解析 jpg 后缀的 webshell。

// .htaccess
AddType application/x-httpd-php .jpg


// 1.jpg
<?php phpinfo();?>

访问 1.jpg,当做 PHP 解析。

局限

.htaccess 配置文件只在 Apache 服务器中起作用。

.user.ini

php.ini 是 php 的一个全局配置文件,对整个 web 服务起作用;而.user.ini 和.htaccess 一样是目录的配置文件,.user.ini 就是用户自定义的一个 php.ini,通常用这个文件来构造后门和隐藏后门。

实例

php 配置项中有两个配置可以起到一些作用

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

这两个配置项的作用相当于一个文件包含,比如

// .user.iniauto_prepend_file = 1.jpg// 1.jpg<?php phpinfo();?>// 11.php

也就是在一个目录下有.user.ini 这个配置文件,配置内容为上,有 1.jpg,同时该目录下还需要有.php 后缀的文件,auto_prepend_file = 1.jpg 这个配置的意思就是在当前目录下的.php 文件包含 1.jpg 这个图片,在此处相当于在 11.php 文件头插入了 require('1.jpg') 这条语句,也就是说相当于文件包含。
另一条配置包含在文件尾,如果遇到了 exit 语句的话就会失效。

.user.ini 使用范围很广,不仅限于 Apache 服务器,同样适用于 Nginx 服务器,只要服务器启用了 fastcgi 模式 (通常非线程安全模式使用的就是 fastcgi 模式)。

局限

在.user.ini 中使用这条配置的使用也说了是在同目录下的其他.php 文件中包含配置中所指定的文件,也就是说需要该目录下存在.php 文件,通常在文件上传中,一般是专门有一个目录用来存在图片,可能小概率会存在.php 文件。

但是有时可以使用 ../ 来将文件上传到其他目录,达到一个利用的效果。

标签:文件,配置文件,jpg,user,php,ini
From: https://www.cnblogs.com/vaneshadow/p/17428785.html

相关文章

  • [React Typescript] useRef with HTML Elements
    Reactsetthereftonullinruntime.Itisalimitationnowforreact.import{useRef}from'react';exportconstComponent=()=>{constref=useRef<HTMLDivElement>(null);return<divref={ref}/>;}; ......
  • MYSQL设置密码时显示Failed! Error: SET PASSWORD has no significance for user 'roo
    ​ 用这个命令进入mysqlsudomysql在sql命令行输入以下命令回车,你就可以把密码改成mynewpasswordALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordby'mynewpassword';exit回到终端命令行,输入:sudomysql_secure_installation输入刚才的......
  • MYSQL设置密码时显示Failed! Error: SET PASSWORD has no significance for user 'roo
    ​ 用这个命令进入mysqlsudomysql在sql命令行输入以下命令回车,你就可以把密码改成mynewpasswordALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordby'mynewpassword';exit回到终端命令行,输入:sudomysql_secure_installation输入刚才的......
  • java.sql.SQLException: Access denied for user 'root'@'localhost' (using password
    org.apache.ibatis.exceptions.PersistenceException:###Errorqueryingdatabase.Cause:java.sql.SQLException:Accessdeniedforuser'root'@'localhost'(usingpassword:YES)###Theerrormayexistincom/itheima/mapper/BrandMapper.j......
  • django——继承默认User模型进行自定义
    自定义用户模型在Django中非常常见。下面是一个简单的示例,演示如何扩展Django默认的User模型,以添加自定义字段和方法:python复制代码fromdjango.contrib.auth.modelsimportAbstractUserfromdjango.dbimportmodelsclassCustomUser(AbstractUser):#添加自定......
  • useRef 与 createRef 的区别
    两者区别:createRef每次渲染都会返回一个新的引用,而useRef每次都会返回相同的引用。useRef一般用于函数组件useRef不仅仅是用来管理DOMref的,它还相当于this,可以存放任何变量.当useRef的内容发生变化时,它不会通知您。更改.current属性不会导致组件重新渲染。因为......
  • Top 100 GitHub Users in China All In One
    Top100GitHubUsersinChinaAllInOneGitHubAPIdemoshttps://api.github.com/search/users?q=location:China&sort=followers&order=desc&per_page=100&page=page(......
  • UserThreadLocal简单使用
    1packagecom.huoziqi.springboot.utils;23/**4*@version1.05*@Author作者名6*@Date2022/10/2211:167*/89importcom.huoziqi.springboot.entity.User;1011/**12*保存用户信息13*/14publicclassUserThreadLocal{1516......
  • Field userClient in com.demo.order.service.OrderService required a bean of type'
    在SpringCloud项目中使用Feign进行远程调用遇到的错误。原因是因为UserClient在com.demo.feign.clients包下面,而order-service的@EnableFeignClientd注解却在com.demo.order包下面,这两个不在同一个包下,无法扫描到UserClient。解决方法有两种1.指定Feign应该扫描的包@EnableFeig......
  • Oracle migrate the users into another DB instance
    -----------------------------------------------###############OnSource###################---------------------------------------------createorreplaceprocedurepr_user_ddlascursorget_usernameisselectusernamefromdba_userswhereusernamelik......