文件上传中配置文件浅析
本文最后更新于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

例题可以参考GHCTF2025的UPUPUP和黄河流域ctf2025的奶龙牌图片处理器2.0
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇