ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[SUCTF 2019]CheckIn

2021-11-11 19:32:44  阅读:260  来源: 互联网

标签:SUCTF 文件 配置文件 CheckIn jpg 2019 ini php user


[SUCTF 2019]CheckIn

1.首先尝试使用一句话木马

illegal suffix!

2.尝试使用改后缀名的方式进行上传,发现存在<?检测

@eval($_POST["a"]); 提示:exif_imagetype:not image!,说明存在exif_imagetype函数,这个函数就是简单的检测下文件的首格式,很简单加个GIF89a去尝试即可 最终成功上传我们的图片马,但是如何去让图片马以php的方式去执行呢,最先想到的就是htacess的方式,尝试发现并不能使用成功。 4.看看大佬的wp,发现一种没见过的玩意.user.ini,正好借这个机会,把之前没太弄懂的htaccess拿来比较下,进行学习 > ### .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。 > > ``` > // .htaccessAddType application/x-httpd-php .jpg// 1.jpg



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



#### 局限

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

### .user.ini

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

#### 实例

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

auto_prepend_file = //包含在文件头auto_append_file = //包含在文件尾




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

// .user.iniauto_prepend_file = 1.jpg// 1.jpg// 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 文件。  

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

5.总结一下,htaccess这个方式是被用来使用在apache服务器中,对于局部的文件,让局部内的文件解析成为你想指定的文件

而.user.ini则是对于全局文件的,它可以起到一种类似文件包含的作用,它需要本来的文件夹中存在一个可执行的php文件,使用这个配置想,可以将我们的jpg格式的文件包含于这个php文件中去执行

标签:SUCTF,文件,配置文件,CheckIn,jpg,2019,ini,php,user
来源: https://www.cnblogs.com/lzwhehe/p/15541365.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有