Research Category

安全研究

安全研究

React2Shell 分析总结

深入分析 React2Shell(CVE-2025-55182)在 React Server Components Flight Reply 反序列化流程中的成因、原型链路径遍历、RCE gadget 链与补丁机制。

Mybatis 从SQL注入到OGNL注入

动态SQL 动态 SQL 是 MyBatis 的强大特性之一,一般而言,如果不使用动态SQL来拼接SQL语句,是比较痛苦的,比如拼接时要确保不能漏空格,还要注意去掉列表最后一个列名的逗号等,但是利用动态 SQL,就可以彻底摆脱这种痛苦。 一般而言,使用mybatis有两种配置,一种是通过xml文件的方式来配置,另一种是通过注解的方式…

从零开始,分析Spring Framework RCE

本文首发于跳跳糖社区:http://tttang.com/archive/1532/ 博客用于备份 0x01 写在前面 如果需要让你对一套CMS的安全性进行研究分析,你会从哪里入手? 或许你会回答代码审计的那一套知识点。 那么,如果需要让你要对 Spring Framework 框架的安全性进行研究分析,你会从哪里入手? 更宽泛一点…

从SSRF 到 RCE —— 对 Spring Cloud Gateway RCE漏洞的分析

0x01 写在前面 本周二(3.1)的时候Spring官方发布了 Spring Cloud Gateway CVE 报告 其中编号为 CVE-2022-22947 Spring Cloud Gateway 代码注入漏洞的严重性为危急,周三周四的时候就有不少圈内的朋友发了分析和复现过程,由于在工作和写论文,就一直没去跟踪看看,周末抽了…

fastjson<=1.2.68 漏洞分析

去年写的文章,没发出来,给公众号增加点内容,也留点笔记 写在前面 自2017年3月15日 fastjson 1.2.24版本被爆出反序列化漏洞以来,其就成为了安全人员中的重 点研究对象,即使后来 fastjson 为了安全设置了checkAutoType 防御机制,也依旧没能完全杜 绝新的漏洞产生,结合今日BlackHat 大会上玄…

log4j 1.x 与 logback 的鸡肋RCE讨论

0x01 写在前面 对 log4j2 漏洞的后续研究中,发现一些有趣的东西,记录分享一下 0x02 log4j 真的在任何情况不存在 JNDI注入吗? 首先提出一个问题,log4j 真的在任何情况不存在 JNDI注入吗? 答案是否定的。 翻阅 Log4j2 的 pull request 发现一个有意思的对话: 有人提出实际上 log…

log4j2 JNDI 注入漏洞分析

0x01 写在前面 2021 年 12 月 9 号注定是一个不眠之夜,著名的Apache Log4j 项目被爆存在远程代码执行漏洞,且利用简单,影响危害巨大,光是引入了 log4j2 依赖的组件都是数不清,更别提项目本身可能存在的风险了,如下图所示,mvnrepository搜索引用了 log4j-core version 2.14…

Thymeleaf SSTI 分析以及最新版修复的 Bypass

0x01 写在前面 前段时间补上了迟迟没有写的 文件包含漏洞原理与实际案例介绍一文,在其中就提到了 Thymeleaf SSTI 漏洞,昨天在赛博群里三梦师傅扔了一个随手挖的 CVE——Thymeleaf SSTI Bypass,想着之前项目的代码还没清理,一起分析来看看 0x02 Thymeleaf SSTI Thymeleaf…

用一个 case 去理解 jdk8u20 原生反序列化漏洞

0x01 写在前面 jdk8u20原生反序列化漏洞是一个非常经典的漏洞,也是我分析过最复杂的漏洞之一。 在这个漏洞里利用了大量的底层的基础知识,同时也要求读者对反序列化的流程、序列化的数据结构有一定的了解 本文结合笔者自身对该漏洞的了解,写下此文,如有描述不当或者错误之处,还望各位师傅指出 0x02 jdk8u20 漏洞原理 jdk…

JEP290的基本概念

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…

JDK7u21反序列化漏洞分析笔记

0x01 写在前面 JDK7u21原生gadget链的构造十分经典,在对于其构造及思想学习后,写下本文作为笔记。 0x02 所需的知识点 JDK7u21这个链用了很多的Java基础知识点,主要如下: Java 反射 javassist 动态修改类 Java 静态类加载 Java 动态代理 hash碰撞 为了方便大家理解此文,因此我会…

PHP 配置 register_argc_argv 小结

0x01 前言 前些天打了巅峰极客的 CTF,遇到一个提示为registerargcargv的 WEB 题,未能解决,赛后问了yzddmr6师傅的思路,又查询了国内关于registerargcargv的安全研究,发现很少,因此觉得registerargcargv这个 PHP 配置项值得研究,本文做个记录和分享,由于个人实际经验欠缺,…

由定界符引发的一些安全问题

0x01 前言 前一段时间在p 师傅的小密圈中看到了他分享的定界符安全以及一则 Django 的安全修复公告,趁着有时间,对定界符相关的安全问题学习了一波。 0x02 定界符 定界符从其字面意义上来说就是限制界限的符号,假设我们设置定界符为//,那么//panda//的意思就是告诉计算机,从第一个//开始,到panda字符串,再到后…

PHPmyadmin SQL injection in Designer feature 研究(CVE-2019-18622)

0x01 漏洞描述 cve 编号:CVE-2019-18622 4.9.2之前的phpMyAdmin中发现了一个问题。 攻击者通过精心设计的数据库名或者表名,可通过设计器功能触发SQL注入攻击。 官方信息 PMASA-2019-5 Announcement-ID: PMASA-2019-5 Date: 2019-10-28 Summ…

个人经验泛谈之工控安全入门

0x01 写在前面 最近几年,工控安全是越来越火,很多朋友问过我这样一个问题,如何学习工控安全?其实我自己也在学习工控安全,如何学习我也不能给你说怎么学才是正确的,快速的,只能说,我只是根据我个人的看法,来给出我的经验和方法。 学习这个工控安全,说大了是为了国家安全建设做贡献,说小了是混口饭吃。所以找对药吃就可以啦!啥叫找对药吃?就…

简单谈一谈 Java 中的预编译

0x01 预编译机制 在java中JDBC中,我们写 SQL 语句的时候,有个预处理功能,这个功能一大优势就是能提高执行速度,尤其是多次操作数据库的情况,再一个优势就是预防SQL注入,严格的说,应该是预防绝大多数的SQL注入。 如下示例代码即为Java中 JDBC 的预处理: 那么这个预编译的功能,到底是如何防止 SQL 注入的呢?…

带你走进PHP session反序列化漏洞

带你走进PHP session反序列化漏洞 0x01 写在前面 前些天打了巅峰极客,遇到了一题 session 反序列化,借此机会整理一下php session 反序列化的前生今世,愿与君共勉,如若有错,还望斧正 0x02 什么是 php session 谈 PHP session之前,必须要知道什么是session,那么到底什么是…

带你走进 S7COMM 与 MODBUS 工控协议

本文首发先知社区:https://xz.aliyun.com/t/6603 0x01 S7COMM协议 S7COMM 全称S7 Communication,是西门子专有协议,在西门子S7-300 / 400系列的PLC之间运行,用于PLC编程,PLC之间的数据交换。S7协议被封装在TPKT和ISO-COTP协议中,这里就不对 TPK…

由filter_var()函数引起的技术探讨

0x01 起因 最近在看PHP SECURITY CALENDAR 2017的题目,这是第二题 Day 2 - Twig Can you spot the vulnerability? 这里考察的是XSS漏洞。对于XSS漏洞,大部分出现的地方在输出环节,如 echo $var; $var可控且无过滤,或者过滤不严格,导致了XSS漏洞…

由PHP SECURITY CALENDAR 2017引发的思考总结

0x01 起因 Day 1 - Wish List Can you spot the vulnerability? 这里的关键问题在inarray()函数,可以先看看Inarray()的函数定义: inarray(search,array,type) 参数 | 描述 | :------ | :------ | | search |…

对于Discuz!3.2的基础认证钓鱼漏洞分析与修复

分析过程 在分析漏洞之前先了解一下相关的知识科普。 401钓鱼,也叫基础认证钓鱼。在Web站点中,绝大部分的web服务器被配置为匿名访问,即用户在请求web站点访问服务器上的相关信息时,一般不会被要求提示输入相关认证标示信息,也就是说用户不需要使用用户名或者密码就可以访问网站,这也是所有开放站点所使用的配置。 在Nginx和Apac…

CVE-2017-9603分析

一、CVE-2017-9603 WordPress Plugin WP Jobs -1, 'orderby' => 'postdate', 'order' => 'DESC', 'posttype' => 'job', 'poststatus' => 'publish', 'suppressfilters' => true); $j…