本文最后更新于39 天前,其中的信息可能已经过时,如有错误请发送邮件到你太幼稚1919810@163.com
.htaccess
作用:分布式配置文件,一般用于URL重写、认证、访问控制等
作用范围:特定目录(一般是网站根目录)及其子目录
优先级:较高。可覆盖Apache的主要配置文件(httpd—conf)
生效方式:修改后立刻生效
写入代码:
AddType application/x-httpd-php .后缀
表示上传给apache的指定的文件类型,apache都当作php文件来解析

用法:当过滤比较严格时,可以上传该配置文件,让图片中的php代码能够被解析执行
绕过exif_imagetype()传文件
exif_imagetype()读取图像文件的前几个字节,检测图像的实际格式,waf中如果有该函数检测的话,图像格式不正确可能会导致文件无法上传
XBM(X BitMap)是一种纯文本格式的位图图像格式,最初用于X Window系统
XBM文件实际上是C语言源代码,包含图像数据的数组定义:
#define test_width 16
#define test_height 16
static unsigned char test_bits[] = {
0x0f, 0x00, 0x36, 0x00, 0x66, 0x00, 0xc6, 0x00,
0xc6, 0x06, 0x66, 0x06, 0x36, 0x03, 0x0f, 0x00
};
绕过方法:
#define width 20
#define height 10
AddType application/x-httpd-php .后缀
.user.ini
作用:特定用户或特定目录的配置文件,通常位于web应用程序的根目录下。用于覆盖或者追加全局配置文件(如php.ini)中的PHP配置选项
作用范围:存放该文件的目录及其子目录
优先级:较高,可以覆盖php.ini
生效方式:立即生效
auto_prepend_file //在文件前插入
auto_append_file //文件最后插入
用法:如果文件上传后的存储路径下(或其子目录下)有php文件,可以是使用该配置文件,让存放该配置文件的目录以及其子目录下的所有php文件都包含指定文件的文件内容
包含图片中的php代码
在图片中添加php恶意代码后上传,然后再上传配置文件,这样,当前目录及子目录下所有php文件都可以被利用

包含日志文件
在消息头中写入php恶意代码,这样日志中的内容就会写入恶意代码

再上传.user.ini文件,内容为(这里以nginx为例)
auto_prepend_file=/var/log/nginx/access.log