news 2026/4/18 10:42:29

那些年 HVV 拿下的外网资产:Shiro 绕过 WAF、OA 后台 getshell 踩坑实录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
那些年 HVV 拿下的外网资产:Shiro 绕过 WAF、OA 后台 getshell 踩坑实录

0x01 前言

在 HVV 实战中拿下的典型外网资产,拆解从登录框突破、Shiro 绕过 WAF 到 OA 后台 getshell 的完整链路。从默认口令爆破、前端逻辑绕过等基础操作,到 Shiro 重编译适配、OA 漏洞踩坑调试等进阶技巧,全程还原真实攻防场景中的关键决策与避坑要点。无论是新手入门学习外网打点思路,还是资深从业者补充实战经验,都能从中获取启发。以下是实战案例的详细拆解,干货满满,欢迎各位师傅交流指正!

现在只对常读和星标的才展示大图推送,建议大家把渗透安全HackTwo“设为星标”,否则可能就看不到了啦!

末尾可领取挖洞资料/加圈子 #渗透安全HackTwo

0x02 漏洞详情

从最基础的登录框突破

登录框作为hw出现场次最多的角色,也是最容易出洞的,下面介绍一些自己常用的测试方法

登录爆破小技巧

像这种系统的爆破我们有两种解决方法:

  • 分析前端加密算法,写脚本模拟对密码进行加密

  • 固定密码为123456 000000 使用常见的用户名作为字典进行爆破

两种方法各有优劣,我更倾向于第二种,在比赛打点效率会更高,分析加密算法更适用于红队检测项目

使用爆破的账号密码登入后台,便可以继续寻找后台上传点

看到图片类型这里限制上传的文件格式

直接添加aspx文件格式类型

成功getshell

修改返回数据包参数进入后台

有些时候网站登录状态是根据前端判断的,这时候我们就可以直接修改返回包进行绕过

前端判断登录逻辑根据返回包的ret值决定,当返回值为1则成功登录

成功进入后台

插件探测常见sql注入和log4j漏洞

sql注入插件推荐

https://github.com/smxiazi/xia_sql如需要二开版本可加入星球获取最新版

基本原理是通过发送多个数据包,根据返回数据长度判断是否存在注入

除了被动扫描以外,我们还可以通过手动添加单引号、双引号去查看返回包,若存在类似报错则可能存在sql注入

sqlmap一把梭

log4j插件推荐

https://github.com/TheKingOfDuck/burpFakeIP

通过burp插件fuzz数据包的header头

成功探测出登录框的log4j漏洞

但要注意的的是很多dnslog平台已被防火墙标黑,因此推荐使用ceye或者自搭建dnslog平台

系统默认口令+后台1day漏洞利用

随着攻防比赛愈发频繁,公网能直接利用的前台漏洞越来越少,大多数都被批量扫描修复过了,但我们可以利用系统的默认口令结合1day进行利用

如若依存在默认口令admin/admin123

进入后台就可以通过计划任务或反序列化执行命令

很多时候我们碰到OA系统,拿OA漏洞检测工具扫一下没漏洞就放弃了,其实像这种OA系统还可能会存在默认口令的问题

默认口令

系统管理员:system/system
集团管理员(A8-v5集团版) group-admin/123456
单位管理员(A8-V5企业版) admin1/admin123456
审计管理员(所有版本) audit-admin/seeyon123456

前台使用账号密码有时候不能登录,可发送下面数据包获取cookie

POST /seeyon/rest/authentication/ucpcLogin HTTP/1.1 Host: User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 Content-Length: 71 Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip UserAgentFrom=xx&login_username=audit-admin&login_password=seeyon123456

获取cookie之后就可以使用补丁较新的后台洞进行深入利用,这次使用copyfile这个后台洞

但实战后发现这个漏洞存在一些坑点,写入webshell时候报错了

POST /seeyon/ajax.do?method=ajaxAction&managerName=portalCssManager&rnd=111 HTTP/1.1 Accept: */* Content-Type: application/x-www-form-urlencoded;charset=UTF-8 Content-Length: 70 Host: 192.168.91.17 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.5.13 (Java/1.8.0_321) Accept-Encoding: gzip,deflate arguments=%5B%22xxxxxx%22%5D&managerMethod=generateCssFileByCssStr

本地开环境调试一下,fuzz发现是双引号所导致,可通过前面加\解决,还有其他的问题总结如下:

  • 写seeyon路径下会404,可以换写到root目录下

  • webshell的双引号需要前面加入反斜杠,即换成\"

  • 复制的文件名不能与之前的相同,否则会复制失败

  • //

    后需要进行换行

经过一首歌的时间,最终成功getshell

同样,X微OA的默认账号密码有sysadmin/1sysadmin/Weaver@2001等等

差点擦肩而过的shiro漏洞

被动扫描识别shiro指纹

使用afrogWappalyzer等指纹识别器有时候无法直接识别shiro框架

抓包使用hae插件被动扫描识别网站特征

https://github.com/gh0stkey/HaE

WAF拦截绕过

使用工具检测到key,但利用链爆破时候被拦截了,访问网站发现被拦截了

换个ip继续冲,工具直接打不行,准备改用burp手动发包,但是问题又来了,挂着burp网站直接无法访问了

改用yakit能正常发包,猜测可能是burp特征被识别了,这时候想到最近看的github项目,决定尝试一下

    https://github.com/sleeyax/burp-awesome-tls

    未使用插件前,burp指纹特征被识别,抓包被拦截

    使用插件后正常抓包

    最终通过 OPTIONS 请求方式 + 静态资源 uri 路径 + 缩短payload长度成功绕过WAF

    缩短payload长度可使用4raIn师傅的项目

      https://github.com/antiRookit/ShortPayload

      成功getshell

      Yso重编译拿下某企业shiro系统

      某个目标资产搜集到一个shiro框架系统,通过工具探测到存在默认密钥kPH+bIxk5D2deZiIxcaaaA==

      存在JRMP利用方式,但JRMP执行失败

      可能原因:Yso自带的CB链版本和目标环境CB链版本不一致

      用1.8.3重新进行编译

      使用新的yso成功执行命令,另外防止其他队伍从目标得分还可以修改shiro默认key

      JS源代码抽丝剥茧从单点到逐个击破

      fuzz未授权webpack接口

      右键源代码——查看检索js——在后面添加.map

        curl -O http://xx.xx.xx.xx/\*.js.map

        之后会下载一个js.map,使用reverse-sourcemap进行还原

          npm install --global reverse-sourcemapreverse-sourcemap --output-dir 生成的目录 app.6804b239.js.map

          可寻找各种未授权的接口进行进一步的利用

          使用脚本提取路径,提取后的结果可作为字典放到burp进行fuzz

          ueditor编辑器漏洞捡漏

          查看源码,发现使用了ueditor组件

          或者全局进行检索 ueditor,发现ueditor路径

          构建表单上传 1.jpg?.aspx

          invalidPattern.Replace处通过正则替换后成为 1.jpg.aspx,后经过GetExtension()得到扩展名 aspx 最后返回处理后的木马路径

          亚马逊S3存储桶接管

          在js里翻找,发现网站背景图片来源于s3存储桶地址

          访问该地址发现为NoSuchBucket,表示可以接管

          亚马逊云注册相应的存储桶,填入相应的名称和区域即可,接管后再次访问会变为UnauthorizedAccess

          从任意文件读取到部署war包getshell

          框架识别

          根据返回的rememberme判断为shiro框架

          直接拿工具打一波发现找不到密钥,正常正常,毕竟现在公网的shiro经过多轮hw基本也绝迹了

          挖掘注释接口

          问题不大,尝试从系统其他方面入手,从js里全局搜索downloadupload这些字段,可能存在任意文件上传或读取漏洞

          通常开发人员为了省事,可能会直接把前端功能代码注释掉,而不把相应后端接口删除,这时候就会给我们留下可乘之机

          像这里我们通过检索download,发现一个被注释的下载接口,拼接路径尝试进行任意文件读取

          shiro权限绕过

          拼接路径后访问发现会重定向到首页,这时候开始怀疑漏洞是否存在,但转念一想可能是权限问题

          这时候想到shiro框架有个容易被忽略的点,那就是权限绕过

          shiro权限绕过分析

            https://xz.aliyun.com/t/12643

            直接拼接会重定向到首页
            resources/js/xxxxxx/downloadFile?url=/../../../../etc/passwd

            /..;/可绕过
            resources/js/xxxxxx/..;/../../downloadFile?url=/../../../../etc/passwd

            通过/..;/成功读取主机文件

            能读取文件那肯定是不够的,我们目标是getshell,尝试读数据库密码,但扫描端口发现未对外开放

            这时候查看扫描结果发现8080端口是开放的,直接读取/conf/tomcat-users.xml文件,获取tomcat的密码

            使用获取的账号密码登录,部署war包成功getshell

            从旁站获取源码到任意文件上传

            提取网站特征
            • 查看网站特定js、开发厂商信息,如技术支持XXXXXXX公司

            • 通过fofa、hunter测绘平台寻找旁站

            旁站备份文件扫描

            导出同cms站点列表,扫描旁站备份文件

            云盘搜索泄露源码

            我只能说,凌风云是个好东西

            代码审计
            • 获取源码后我们优先挖掘任意文件上传这类能getshell的漏洞

            • 查看web.xml搜索.SaveAsupload查找可利用的点,像下面这个代码,我们通过检索发现两处疑似上传的接口

            跟进PreviewImageUploadServlet.class

            定义保存文件的路径,默认为/img/faces,如果请求中包含名为path的参数,则将保存路径设置为该参数的值

            创建一个MultipartRequestParser实例,用于解析请求,并将结果存储在PreviewImageInfo对象中

            PreviewImageInfo info = (PreviewImageInfo)parser.parse(request, "com.chinasofti.ordersys.servlets.common.PreviewImageInfo");

            跟进PreviewImageInfo.class,没有进行过滤,因此我们可以构建表单直接上传

            某访客系统从actuator到百万数据泄露

            查看burp历史记录发现系统会向后端请求/gateway接⼝

            拼接路径进行目录扫描发现⼀堆actuator端点,使用最近新出的几个漏洞均没打成功

            heapdump泄露

            尝试从其他地方入手,发现存在heapdump泄露,使用工具查看泄露了些什么内容

              https://github.com/whwlsfb/JDumpSpide

              发现一些账号密码,但都是在内网无法直接利用

              继续从中寻找机会,把里面的接口和url拼接路径到Burp批量跑⼀下,这时候发现一个可以的注册接口,感觉有戏!

              创建用户获取token凭证

              使用该接口创建用户

              但创建后的用户不能直接登录到系统,但可以通过新增的账密获取token凭证

              可结合接口文档使用token凭证调用接口查询,获取大量用户敏感数据

              从nacos任意用户注册到接管企业云

              HVV中最爱的nacos,全身上下都是价值连城的宝贝,关键是好找!

              指纹特征HTTP Status 404 – Not Found 以及 8848端口

              直接访问404,拼接nacos路径可以看到目标系统

              漏洞检测

              这些漏洞可以利用Nacos综合漏洞利用工具V7.8一键检测

              Tips:Nacos等工具可加入内部星球获取最新版

              nacos任意用户注册,关键在于登入后台查看配置文件里的账密信息

              获取accesskeyidaccesskeysecrets后可使用工具接管云

              推荐工具

              https://github.com/teamssix/cf/releaseshttps://github.com/mrknow001/aliyun-accesskey-Tools/releases/tag/v1.3

              获取到云数据库的账密,直接navicat连接

              0x03总结

              汇集多年 HVV 外网打点实战案例,涵盖登录框突破、Shiro 绕过 WAF、OA 后台 getshell 等核心场景。从基础的默认口令爆破、前端逻辑绕过,到进阶的漏洞调试与适配技巧,全程还原真实攻防中的决策与避坑要点!🔥喜欢这类文章或挖掘SRC技巧文章师傅可以点赞转发支持一下谢谢!

              版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
              网站建设 2026/4/18 10:42:26

              同类工具横向对比:咕咕文本与快捷回复软件选型指南

              在提升文本输入效率的需求驱动下,市面上涌现了众多快捷回复类工具。 这些工具在功能侧重、使用方式和适用场景上各有不同。 本文将以咕咕文本为参照,与几款主流同类产品进行横向对比,为不同需求的用户提供选型参考。 首先是功能定位的对比…

              作者头像 李华
              网站建设 2026/4/18 10:38:37

              别再手动敲命令了!用Ansible一键自动化部署Oracle 19c到Oracle Linux 7.9

              从手工到工业级:Ansible自动化部署Oracle 19c全攻略 在传统数据库部署中,运维工程师需要逐台服务器执行上百条命令,稍有不慎就会因人为失误导致安装失败。而现代DevOps实践中,Ansible以其无代理架构和声明式语法,正在彻…

              作者头像 李华
              网站建设 2026/4/18 10:31:42

              运算放大器比较器模式详解:从理想模型到实际应用中的5个坑

              运算放大器比较器模式详解:从理想模型到实际应用中的5个坑 在硬件设计领域,运算放大器作为"万能芯片"几乎出现在每个工程师的电路图中。但当我们把它当作比较器使用时,那些数据手册上不起眼的小字参数往往会成为项目延期的主要原因…

              作者头像 李华
              网站建设 2026/4/18 10:29:36

              STM32CubeMX+Keil5实战:手把手教你驱动VL53L0X激光测距模块(附完整代码)

              STM32CubeMXKeil5实战:从零搭建VL53L0X激光测距系统 第一次接触激光测距模块时,我被VL53L0X的精度和响应速度惊艳到了——这个只有指甲盖大小的传感器,竟然能实现毫米级的距离测量。但随之而来的开发过程却让我这个嵌入式新手踩了不少坑&…

              作者头像 李华
              网站建设 2026/4/18 10:29:29

              新书上架 | 这是普通人能从马斯克身上学到的唯一改变命运的能力!

              埃隆马斯克是当今世界最具影响力的创新者之一,他创办了特斯拉、SpaceX、Neuralink等颠覆性企业。当被问及他的思维方式时,他多次提到一个关键方法——第一性原理。那么,什么是第一性原理?这是一种回到事物本质的思考方式&#xff…

              作者头像 李华