安全-Apache HTTPD 换行解析漏洞复现(CVE-2017-15715)

Posted 小狐狸FM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全-Apache HTTPD 换行解析漏洞复现(CVE-2017-15715)相关的知识,希望对你有一定的参考价值。

前言

复现环境dockerdocker-composevulhub,请勿用于违法用途

Apache HTTPD 换行解析漏洞复现(CVE-2017-15715)

影响版本

2.4.0~2.4.29

漏洞复现

启动docker服务

如果你使用docker-compose up -d启动时出现下面的报错,就表示端口已经被占用了
我的8080端口已经被占用了,可以在docker-compose.yml配置中修改端口号


index.php是一个上传页面,可以看到黑名单中有php后缀

<?php
if(isset($_FILES['file'])) {
    $name = basename($_POST['name']);
    $ext = pathinfo($name,PATHINFO_EXTENSION);
    if(in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'])) {
        exit('bad file');
    }
    move_uploaded_file($_FILES['file']['tmp_name'], './' . $name);
} else {

?>

<!DOCTYPE html>
<html>
<head>
	<title>Upload</title>
</head>
<body>
<form method="POST" enctype="multipart/form-data">
	<p>
		<label>file:<input type="file" name="file"></label>
	</p>
	<p>
		<label>filename:<input type="text" name="name" value="evil.php"></label>
	</p>
	<input type="submit">
</form>
</body>
</html>

<?php
}
?>

构造一个php脚本

上传抓包,filename右侧的输入框是上传后该文件存储的名称

只需要修改test.php%0a部分的文件名,data.php是原先的文件名不会被使用到

%0a选中后进行URL解码(URL-decode

点击发送后,成功上传

在页面中访问http://IP:端口/文件名.php%0a即可解析php代码

以上是关于安全-Apache HTTPD 换行解析漏洞复现(CVE-2017-15715)的主要内容,如果未能解决你的问题,请参考以下文章

漏洞复现Apache HTTPD 换行解析漏洞(CVE-2017-15715)

漏洞复现——httpd换行解析漏洞

apache httpd解析漏洞复现

漏洞复现——Apache HTTPD多后缀解析漏洞

Apache文件解析漏洞复现,CVE-2017-15715复现,Apache多后缀解析漏洞复现

Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现