中间件漏洞总结
nginx
nginx版本 |
漏洞 |
payload |
成因 |
配置问题
|
解析漏洞 |
/yxc.jpg/xxx.php/yxc.sec
|
cgi.fix_pathinfo,该选项默认开启,值为1,用于修理路径的
|
配置问题
|
目录遍历
|
|
修改 C:\phpstudy\nginx\conf\nginx.conf,在下面标示位置中添加 autoindex on ;
|
nginx0.5.* nginx 0.6.* nginx 0.7 <- 0.7.65 nginx 0.8 <- 0.8.37
|
空字节任意代码执行漏洞
|
访问1.jpg,无法访问,所以在URL中输入 1.jpg..php 然后抓包,hex选项下,.的hex编码为2e,将第一个2e改为00
|
Nginx在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问 xxx.jpg%00.php 来执行其中的代码
|
配置问题 |
CRLF注入漏洞
|
CRLF注入漏洞
|
Nginx会将 $uri 进行编码,导致传入 %0a%0d 即可引入换行符,造成CRLF注入漏洞
|
nginx 0.8.41 - 1.4.3 / 1.5.0 - 1.5.7
|
文件名逻辑漏洞(CVE-2013-4547)
|
上传1.jpg抓包在后缀名后面加个空格,成功绕过 修改名称为 2.jpg…php ,在hex编码下将jpg后面的两个2e改为20,00,
|
|
Nginx 0.5.6 - 1.13.2
|
整数溢出 CVE-2017-7529
|
|
在nginx的range filter 中存在整数溢出漏洞,可以通过带有特殊构造的range的HTTP头的恶意请求引发这个整数溢出漏洞,并导致信息泄露。
|
apache
apache版本 | 漏洞 | payload | 成因 |
|
未知扩展名解析漏洞 | Apache的解析漏洞依赖于一个特性:Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别(不在mime.types文件内),则继续向左识别,直到识别到合法后缀才进行解析。 | |
|
AddHandler导致的解析漏洞 | 增加了处理器: AddHandler application/x-httpd-php .php 那么,在有多个后缀的情况下,只要一个文件名中含有.php后缀,即被识别成PHP文件,没必要是最后一个后缀。 | |
2.4.0~2.4.29 |
Apache HTTPD 换行解析漏洞(CVE-2017-15715) | 在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略 | |
2.4.49、2.4.50 |
cve_2021_41773 目录穿越 cve_2021_42013 RCE |