si1ent

Apache换行

2021-05-18

概述

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

环境搭建

docker搭建环境

CVE-2017-15715

漏洞描述

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

影响范围

Apache 2.4.0~2.4.29

漏洞原理

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

漏洞条件

Apache 2.4.0~2.4.29

漏洞检测

0、环境启动

image-20210512151220903

1、URL访问

1
http://192.168.20.120:8080/

image-20210512151331728

2、上传页信息如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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
}
?>

3、尝试上传php后缀

image-20210512151528907

4、修改evil.php后缀添加\x0A

image-20210513103349070

5、上传结果查看

image-20210513103907343

6、访问URL

1
http://192.168.20.120:8080/evil.php%0a

image-20210513103706987

如上解析成功
漏洞修复

1、版本升级

Tags: apache
使用支付宝打赏
使用微信打赏

若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏

扫描二维码,分享此文章