CVE-2017-15715 apache换行解析&文件上传漏洞

影响范围

httpd 2.4.0~2.4.29

复现环境

vulhub/httpd/CVE-2017-15715

docker-compose

漏洞原理

在apache2的配置文件:

/etc/apache2/conf-available/docker-php.conf

中,php的文件匹配以正则形式表达

".php$"的正则匹配模式意味着以.php结尾的文件名会被解析为php

但是对于字符串来说"结尾"有可能以换行作为结束
如图所示,.php与.php\n均可匹配上

因此在文件上传时将php后添加\n即可

\n的ascii为10,转换为16进制为0A,构造.php[0A]16即可完成攻击

漏洞复现

在vulhub的CVE-2017-15715下

shell 复制代码
docker-compose build
docker-compose up -d

访问ip:8080即可进入页面

选择php一句话木马进行上传,并使用burp抓包

在文件名后敲一个空格,之后双击空格在右侧的十六进制处填写0A进行应用

访问8080/test.php%0A即可执行payload

修复意见

虽然源码中已经在后端做了检查,但仍应先过滤文件名的一些特殊字符再做检查

相关推荐
Johny_Zhao16 小时前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
ALLSectorSorft17 小时前
上门服务小程序会员系统框架设计
小程序·apache
杨过姑父18 小时前
部署开源版禅道,修改apache端口无效解决
bug·apache·软件工程·issue
酷爱码20 小时前
Spring Boot 整合 Apache Flink 的详细过程
spring boot·flink·apache
痴人说梦梦中人1 天前
SwaggerFuzzer:一款自动化 OpenAPI/Swagger 接口未授权访问测试工具
网络安全·渗透测试·自动化·api测试·漏洞利用·信息搜集
lubiii_1 天前
SQL手工测试(MySQL数据库)
数据库·mysql·web安全·网络安全
网安INF1 天前
ElGamal加密算法:离散对数难题的安全基石
java·网络安全·密码学
网安INF1 天前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
lubiii_2 天前
墨者学院-密码学实训隐写术第二题
web安全·网络安全·密码学