Apache
Apache 是世界使⽤排名第⼀的 Web 服务器软件。它可以运⾏在⼏乎所有⼴泛使⽤的计算 机平台上,由于其跨平台和安全性被⼴泛使⽤,是最流⾏的 Web 服务器端软件之⼀。
apache⽬录结构:
bin:存放常⽤命令⼯具,如httpd
cgi-bin:存放linux下常⽤命令,如xxx.sh
error:错误记录
htdocs:⽹站源码
icons:⽹站图标
manual:⼿册
modules:扩展模块
⽬录遍历漏洞:
原理
当客户端访问到⼀个⽬录时,Apache服务器将会默认寻找⼀个index list中的⽂件,若⽂件
不存在,则会列出当前⽬录下所有⽂件或返回403状态码,⽽列出⽬录下所有⽂件的⾏为称为⽬
录遍历。
复现
fofa:index of
<Directory "D:/phpstudy_pro/WWW">
Options +Indexes
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DirectoryIndex index.php
</Directory>
防御
在httpd.conf⽂件中找到Options + Indexes + FollowSymLinks + ExecCGI并修改成 Options -Indexes + FollowSymLinks + ExecCGI并保存(把+修改为-)
+ Indexes 允许⽬录浏览
--- Indexes 禁⽌⽬录浏览
Apache HTTPD 换行解析漏洞(CVE-2017-15715)
漏洞描述
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
漏洞原理
此漏洞的出现是由于apache在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析php时xxx.php\x0A将被按照php后缀进行解析,导致绕过一些服务器的安全策略
漏洞复现
环境搭建
在桌面创建1.php文件,写入一句话木马,将1.php上传,用bp进行抓包
<?php phpinfo();?>
上传失败
查看源代码,发现后端设置了黑名单拦截
查看抓包,漏洞利用,修改在07和0d之间输入0a
再次发送包,将1.php修改为1.php%0a
漏洞修复
1、使用SetHandler,写好正则
2、禁止.php这样的文件执行
3、升级版本