Java安全20年:从BlackHat20年议题看Java安全发展趋势
以2002—2026年Black Hat代表性议题为线索,回顾Java安全研究从JVM沙箱、客户端利用,到反序列化、JNDI、中间件、解析差异和运行时治理的变化。
Research Category
安全研究
以2002—2026年Black Hat代表性议题为线索,回顾Java安全研究从JVM沙箱、客户端利用,到反序列化、JNDI、中间件、解析差异和运行时治理的变化。
深入分析 React2Shell(CVE-2025-55182)在 React Server Components Flight Reply 反序列化流程中的成因、原型链路径遍历、RCE gadget 链与补丁机制。
动态SQL 动态 SQL 是 MyBatis 的强大特性之一,一般而言,如果不使用动态SQL来拼接SQL语句,是比较痛苦的,比如拼接时要确保不能漏空格,还要注意去掉列表最后一个列名的逗号等,但是利用动态 SQL,就可以彻底摆脱这种痛苦。 一般而言,使用mybatis有两种配置,一种是通过xml文件的方式来配置,另一种是通过注解的方式…
本文首发于跳跳糖社区:http://tttang.com/archive/1532/ 博客用于备份 0x01 写在前面 如果需要让你对一套CMS的安全性进行研究分析,你会从哪里入手? 或许你会回答代码审计的那一套知识点。 那么,如果需要让你要对 Spring Framework 框架的安全性进行研究分析,你会从哪里入手? 更宽泛一点…
0x01 写在前面 本周二(3.1)的时候Spring官方发布了 Spring Cloud Gateway CVE 报告 其中编号为 CVE-2022-22947 Spring Cloud Gateway 代码注入漏洞的严重性为危急,周三周四的时候就有不少圈内的朋友发了分析和复现过程,由于在工作和写论文,就一直没去跟踪看看,周末抽了…
去年写的文章,没发出来,给公众号增加点内容,也留点笔记 写在前面 自2017年3月15日 fastjson 1.2.24版本被爆出反序列化漏洞以来,其就成为了安全人员中的重 点研究对象,即使后来 fastjson 为了安全设置了checkAutoType 防御机制,也依旧没能完全杜 绝新的漏洞产生,结合今日BlackHat 大会上玄…
0x01 写在前面 对 log4j2 漏洞的后续研究中,发现一些有趣的东西,记录分享一下 0x02 log4j 真的在任何情况不存在 JNDI注入吗? 首先提出一个问题,log4j 真的在任何情况不存在 JNDI注入吗? 答案是否定的。 翻阅 Log4j2 的 pull request 发现一个有意思的对话: 有人提出实际上 log…
0x01 写在前面 2021 年 12 月 9 号注定是一个不眠之夜,著名的Apache Log4j 项目被爆存在远程代码执行漏洞,且利用简单,影响危害巨大,光是引入了 log4j2 依赖的组件都是数不清,更别提项目本身可能存在的风险了,如下图所示,mvnrepository搜索引用了 log4j-core version 2.14…
0x01 写在前面 前段时间补上了迟迟没有写的 文件包含漏洞原理与实际案例介绍一文,在其中就提到了 Thymeleaf SSTI 漏洞,昨天在赛博群里三梦师傅扔了一个随手挖的 CVE——Thymeleaf SSTI Bypass,想着之前项目的代码还没清理,一起分析来看看 0x02 Thymeleaf SSTI Thymeleaf…
0x01 写在前面 jdk8u20原生反序列化漏洞是一个非常经典的漏洞,也是我分析过最复杂的漏洞之一。 在这个漏洞里利用了大量的底层的基础知识,同时也要求读者对反序列化的流程、序列化的数据结构有一定的了解 本文结合笔者自身对该漏洞的了解,写下此文,如有描述不当或者错误之处,还望各位师傅指出 0x02 jdk8u20 漏洞原理 jdk…
JEP290 0x01 什么是JEP? JDK Enhancement Proposal 简称JEP,是 JDK 增强提议的一个项目,目前索引编号已经达到了JEP415,本文重点来谈谈什么是JEP290,JEP290做了哪些事,JEP290绕过的方法总结等。 0x02 什么是JEP290? JEP290的描述是Filter Inco…
0x01 写在前面 同前一篇的分析方法一样,推荐复制demo代码,然后一步一步跟随笔者的分析进行debug调试跟随,这样跟能够帮助读者理解此文。 0x02 流程分析 在上一篇《 序列化流程分析总结》一文中我提到了 所谓的序列化即是一个将对象写入到IO流中的过程。序列化的步骤通常是首先创建一个ObjectOutputStream输出流…
为什么会有这个公众号 作为过去式的 blog 其实已经不太能满足移动端读者的需要,很多时候人们更愿意利用碎片化的时间、利用手机来阅读信息 因此也萌发了要搞一个手机端平台的想法 其实写博客对于我来说是一个有了将近10年的习惯(虽然以前写的文章并不是以现在的id) 在我学习的时候我非常感谢那些愿意去分享自己知识的前辈们,因此等我有能力分…
0x01 写在前面 本文写的比较细,推荐复制demo代码,然后一步一步跟随笔者的分析进行debug调试跟随,这样跟能够帮助读者理解此文。 0x02 流程分析 所谓的序列化即是一个将对象写入到IO流中的过程。序列化的步骤通常是首先创建一个ObjectOutputStream输出流,然后调用ObjectOutputStream对象的wr…
0x01 写在前面 JDK7u21原生gadget链的构造十分经典,在对于其构造及思想学习后,写下本文作为笔记。 0x02 所需的知识点 JDK7u21这个链用了很多的Java基础知识点,主要如下: Java 反射 javassist 动态修改类 Java 静态类加载 Java 动态代理 hash碰撞 为了方便大家理解此文,因此我会…
0x01 前言 前些天打了巅峰极客的 CTF,遇到一个提示为registerargcargv的 WEB 题,未能解决,赛后问了yzddmr6师傅的思路,又查询了国内关于registerargcargv的安全研究,发现很少,因此觉得registerargcargv这个 PHP 配置项值得研究,本文做个记录和分享,由于个人实际经验欠缺,…
0x01 前言 前一段时间在p 师傅的小密圈中看到了他分享的定界符安全以及一则 Django 的安全修复公告,趁着有时间,对定界符相关的安全问题学习了一波。 0x02 定界符 定界符从其字面意义上来说就是限制界限的符号,假设我们设置定界符为//,那么//panda//的意思就是告诉计算机,从第一个//开始,到panda字符串,再到后…
[1]: https://p4.ssl.qhimg.com/t014181cde9da013819.png
0x01 漏洞描述 cve 编号:CVE-2019-18622 4.9.2之前的phpMyAdmin中发现了一个问题。 攻击者通过精心设计的数据库名或者表名,可通过设计器功能触发SQL注入攻击。 官方信息 PMASA-2019-5 Announcement-ID: PMASA-2019-5 Date: 2019-10-28 Summ…
0x01 写在前面 最近几年,工控安全是越来越火,很多朋友问过我这样一个问题,如何学习工控安全?其实我自己也在学习工控安全,如何学习我也不能给你说怎么学才是正确的,快速的,只能说,我只是根据我个人的看法,来给出我的经验和方法。 学习这个工控安全,说大了是为了国家安全建设做贡献,说小了是混口饭吃。所以找对药吃就可以啦!啥叫找对药吃?就…
0x01 预编译机制 在java中JDBC中,我们写 SQL 语句的时候,有个预处理功能,这个功能一大优势就是能提高执行速度,尤其是多次操作数据库的情况,再一个优势就是预防SQL注入,严格的说,应该是预防绝大多数的SQL注入。 如下示例代码即为Java中 JDBC 的预处理: 那么这个预编译的功能,到底是如何防止 SQL 注入的呢?…
带你走进PHP session反序列化漏洞 0x01 写在前面 前些天打了巅峰极客,遇到了一题 session 反序列化,借此机会整理一下php session 反序列化的前生今世,愿与君共勉,如若有错,还望斧正 0x02 什么是 php session 谈 PHP session之前,必须要知道什么是session,那么到底什么是…
本文首发先知社区:https://xz.aliyun.com/t/6603 0x01 S7COMM协议 S7COMM 全称S7 Communication,是西门子专有协议,在西门子S7-300 / 400系列的PLC之间运行,用于PLC编程,PLC之间的数据交换。S7协议被封装在TPKT和ISO-COTP协议中,这里就不对 TPK…
0x01 起因 最近在看PHP SECURITY CALENDAR 2017的题目,这是第二题 Day 2 - Twig Can you spot the vulnerability? 这里考察的是XSS漏洞。对于XSS漏洞,大部分出现的地方在输出环节,如 echo $var; $var可控且无过滤,或者过滤不严格,导致了XSS漏洞…
0x01 起因 Day 1 - Wish List Can you spot the vulnerability? 这里的关键问题在inarray()函数,可以先看看Inarray()的函数定义: inarray(search,array,type) 参数 | 描述 | :------ | :------ | | search |…
分析过程 在分析漏洞之前先了解一下相关的知识科普。 401钓鱼,也叫基础认证钓鱼。在Web站点中,绝大部分的web服务器被配置为匿名访问,即用户在请求web站点访问服务器上的相关信息时,一般不会被要求提示输入相关认证标示信息,也就是说用户不需要使用用户名或者密码就可以访问网站,这也是所有开放站点所使用的配置。 在Nginx和Apac…
一、CVE-2017-9603 WordPress Plugin WP Jobs -1, 'orderby' => 'postdate', 'order' => 'DESC', 'posttype' => 'job', 'poststatus' => 'publish', 'suppressfilters' => true); $j…