<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cjdgg的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cjdgg</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cjdgg]]></copyright><item><title><![CDATA[XSS详解]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/133255980</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/133255980</guid><author>cjdgg</author><pubDate>Sat, 30 Sep 2023 17:41:24 +0800</pubDate><description><![CDATA[在进行JavaScript解析的时候字符或者字符串仅会被解码为字符串文本或者标识符名称，在上例中Javascript解析器工作的时候将\u0061\u006c\u0065\u0072\u0074进行解码后为alert，而alert是一个有效的标识符名称，它是能被正常解析的。在处理诸如 这样的标签，解析器会自动切换到JS解析模式，而src、 href 后边加入的javascript 伪URL，也会进入JS 的解析模式，ON事件后面也会直接进入JS模式。]]></description><category></category></item><item><title><![CDATA[CALC-python和shell对字符的解析差异]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/128211306</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/128211306</guid><author>cjdgg</author><pubDate>Sat, 10 Dec 2022 16:38:18 +0800</pubDate><description><![CDATA[python和shell对字符串解析差异]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞-Apache Commons Collections4-TreeBag攻击链]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/127178655</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/127178655</guid><author>cjdgg</author><pubDate>Thu, 06 Oct 2022 14:47:41 +0800</pubDate><description><![CDATA[知识点补充可以看看我前面写的CC2和CC3CC4这条链其实是CC2的变种，与CC2不同的是和CC3一样用了InstantiateTransformer而不是InvokerTransformer触发利用链，ysoserial中用 PriorityQueue 的 TransformingComparator 触发 ChainedTransformer，再利用 InstantiateTransformer 实例化 TemplatesImpl。]]></description><category></category></item><item><title><![CDATA[Java内存马学习-Filter]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/124260591</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/124260591</guid><author>cjdgg</author><pubDate>Tue, 03 May 2022 18:22:14 +0800</pubDate><description><![CDATA[Java内存马学习-FliterTomcat架构学习
Tomcat架构学习
Server：
Server，即指的WEB服务器,一个Server包括多个Service。
Service：
Service的作用是在Connector和Engine外面包了一层（可看上图），把它们组装在一起，对外提供服务。一个Service可以包含多个Connector，但是只能包含一个Engine，其中Connector的作用是从客户端接收请求，Engine的作用是处理接收进来的请求。后面再来细节分析Service。
Conne]]></description><category></category></item><item><title><![CDATA[log4j2漏洞分析]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/124054454</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/124054454</guid><author>cjdgg</author><pubDate>Mon, 11 Apr 2022 00:49:31 +0800</pubDate><description><![CDATA[log4j2漏洞分析环境布置前言
环境布置
和前面的JNDI注入时用的代码差不多
package Log4j2;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class log4j {
    private static final Logger logger = LogManager.getLogger(log4j.class);

    public stat]]></description><category></category></item><item><title><![CDATA[JNDI注入学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/123734296</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/123734296</guid><author>cjdgg</author><pubDate>Sat, 26 Mar 2022 01:20:17 +0800</pubDate><description><![CDATA[JNDI注入学习笔记前言什么是JNDI
前言
前面我们知道了RMI的一些机制，今天我们来学一学JNDI注入
什么是JNDI
jndi的全称为Java Naming and Directory Interface（java命名和目录接口）SUN公司提供的一种标准的Java命名系统接口，JNDI提供统一的客户端API，通过不同的服务供应接口(SPI)的实现，由管理者将JNDI API映射为特定的命名服务和目录系统，使得Java应用程序可以和这些命名服务和目录服务之间进行交互、如图

我们只要知道jndi是对各种]]></description><category></category></item><item><title><![CDATA[Javassist-字节码 学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/123158759</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/123158759</guid><author>cjdgg</author><pubDate>Wed, 23 Mar 2022 14:09:50 +0800</pubDate><description><![CDATA[参考文章
https://b1ngz.github.io/java-deserialization-jdk7u21-gadget-note/
https://y4er.com/post/javassist-learn/
https://blog.youkuaiyun.com/caiqiiqi/article/details/108470039
https://www.cnblogs.com/scy251147/p/11100961.html
https://www.guildhab.top/2020/08/java-%]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞-Apache Commons Collections3]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/123210462</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/123210462</guid><author>cjdgg</author><pubDate>Wed, 02 Mar 2022 09:50:50 +0800</pubDate><description><![CDATA[Java 反序列化漏洞-Apache Commons Collections3前言javassist+TemplatesImplcom.sun.org.apache.xalan.internal.xsltc.trax.TrAXFilter
前言
之前已经学了CC1和CC2，接下来继续学习CC3。在CC2中我们用到了javassist修改字节码并配合TemplatesImpl攻击链来使用，因此我们很自然而然的想到，如果我们直接用javassist修改字节码并配合TemplatesImpl攻击链使用，就无需用I]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞-Apache Commons Collections2-TemplatesImpl攻击链]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/123138623</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/123138623</guid><author>cjdgg</author><pubDate>Mon, 28 Feb 2022 00:16:30 +0800</pubDate><description><![CDATA[Java 反序列化漏洞-Apache Commons Collections2前言漏洞挖掘PriorityQueuePriorityQueue.readObject()PriorityQueue.heapify()PriorityQueue.siftDown()PriorityQueue.siftDownUsingComparator()TransformingComparator.compare()构造利用链
前言
前面分析了CC1，今天继续学习，分析下CC2。在 ysoserial中 CC2 是用的 P]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞--fastjson-1.2.24--TemplatesImpl攻击链]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/123102391</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/123102391</guid><author>cjdgg</author><pubDate>Thu, 24 Feb 2022 14:52:26 +0800</pubDate><description><![CDATA[Java-fastjson-1.2.24反序列化漏洞前置知识漏洞分析getTransletInstance()newTransformer()getOutputProperties()
前置知识
fastjson 是阿里巴巴的开源 JSON 解析库，它可以解析 JSON 格式的字符串，支持将 Java Bean 序列化为 JSON 字符串，也可以从 JSON 字符串反序列化到 JavaBean。
这里帮运一下素十八大佬总结的fastjson的功能要点
*1.使用 JSON.parse(jsonString)]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞-Apache Commons Collections1-LazyMap 攻击链]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/122823298</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/122823298</guid><author>cjdgg</author><pubDate>Fri, 11 Feb 2022 23:07:05 +0800</pubDate><description><![CDATA[Java 反序列化漏洞-Apache Commons Collections1-LazyMap 攻击链前言漏洞挖掘本地弹出POCTiedMapEntry.getValue()TiedMapEntry.toString()
前言
前面分析完了CC1的TransformedMap攻击链，但考虑到篇幅太大不利于查看，所以单独再写一篇CC1的LazyMap攻击链
漏洞挖掘
本地弹出POC
这条链前面的挖掘就不说了，挖掘过程可以看看上一篇文章

接下来我们看看lazymap的get方法

可以看到get方法里面调用了]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞-Apache Commons Collections1-TransformedMap 攻击链]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/122277578</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/122277578</guid><author>cjdgg</author><pubDate>Tue, 08 Feb 2022 14:22:12 +0800</pubDate><description><![CDATA[Java 反序列化漏洞-Apache Commons Collections前言前置知识TransformedMap
前言
前面已经学了一些Java反序列化漏洞的相关基础知识，今天就来学习分析一下Apache Commons Collections的反序列化漏洞
环境搭建推荐大家直接使用maven搭建，网上都有很多教程这里就不多说了
要寻找反序列化漏洞，最主要的是找到三个点：
入口点（kick-off），触发点（sink），调用链（chain）
前置知识
TransformedMap
org.apache.]]></description><category></category></item><item><title><![CDATA[idea一些小技巧的记录]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/122279738</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/122279738</guid><author>cjdgg</author><pubDate>Mon, 03 Jan 2022 15:50:52 +0800</pubDate><description><![CDATA[查找接口的实现类：
ctrl + alt + B

查看的类的标签页内：点击右键，选择 Diagrams，其中有 show 和 show … Popup，只是前者新建在标签页内，后者以浮窗的形式展示


此时选中map右键show imptenmentations也可以查看实现该接口的所有类

查看类或接口的继承关系：
ctrl + h

展示类/接口的详细信息：右键有show categories，选择的展开类种的属性，方法，构造方法等


...]]></description><category></category></item><item><title><![CDATA[Java 反序列化漏洞 学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121881666</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121881666</guid><author>cjdgg</author><pubDate>Wed, 22 Dec 2021 12:20:20 +0800</pubDate><description><![CDATA[Java 反序列化漏洞 学习笔记前言什么是 Java 序列化 / 反序列化实现反序列化需要满足的条件Serializable
前言
Java的反序列化漏洞我感觉应该是比较常见而且危害较大的漏洞，而Java 反序列化技术大量应用于 JRMI( Java远程方法调用 ) , JMX( Java管理扩展 ) , JMS( Java消息服务 ) 中，因此 Java RMI 服务也算是 Java 反序列化漏洞的高发地 ，而前面也学过了Java RMI相关的知识，今天就来学一下Java 反序列化漏洞相关原理
什么是 J]]></description><category></category></item><item><title><![CDATA[JAVA 命令执行 学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121672162</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121672162</guid><author>cjdgg</author><pubDate>Sat, 11 Dec 2021 00:37:08 +0800</pubDate><description><![CDATA[JAVA 命令执行 学习笔记前言java.lang.Runtime
前言
今天来了解一下Java的命令执行，命令执行在安全领域中的应用还是非常广的，得好好理解学习一下
java.lang.Runtime
java.lang.Runtime 类的 exec() 方法是Java中最常见的执行命令的方式
1.正常情况下 , 我们想要拿到一个除系统类以外的类 , 必须要先 import 后才能使用 . 否则会出现 cannot find symbol 等报错 . 但是在进行利用时 , 系统是不会让你随意加载类的
但]]></description><category></category></item><item><title><![CDATA[Java 反射机制 学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121623338</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121623338</guid><author>cjdgg</author><pubDate>Wed, 01 Dec 2021 11:04:12 +0800</pubDate><description><![CDATA[Java 反射机制 学习笔记前言什么是 Java Reflection
前言
上次学了Java RMI相关的知识后，感觉收获挺大的，今天跟着H0t-A1r-B4llo0n师傅继续学习Java 反射机制这篇文章算是读完师傅文章做的一些记录吧
什么是 Java Reflection

...]]></description><category></category></item><item><title><![CDATA[Java RMI 学习笔记]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121598196</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121598196</guid><author>cjdgg</author><pubDate>Sun, 28 Nov 2021 23:17:04 +0800</pubDate><description><![CDATA[Java RMI 学习笔记什么是 JAVA RMI ?JAVA RMI 的流程 .JAVA RMI 的简单例子1.服务端编写一个远程接口2.要想调用远程接口 , 还需要一个实现类3.RMI服务器端
最近想学习一下Java相关的安全知识，就找了几篇文章来学习下，从Java RMI开始吧
什么是 JAVA RMI ?
RMI ( Remote Method Invocation , 远程方法调用 ) 能够让在某个 Java虚拟机 上的对象像调用本地对象一样调用另一个 Java虚拟机 中的对象上的方法 , 这两个]]></description><category></category></item><item><title><![CDATA[[GKCTF 2021]CheckBot]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121504021</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121504021</guid><author>cjdgg</author><pubDate>Thu, 25 Nov 2021 10:56:19 +0800</pubDate><description><![CDATA[[GKCTF 2021]CheckBot


&lt;html&gt;
        &lt;body&gt;
                &lt;iframe id="flag" src="http://127.0.0.1/admin.php"&gt;&lt;/iframe&gt;
                &lt;script&gt;
                        window.onload = function(){
                        /* ]]></description><category></category></item><item><title><![CDATA[[GKCTF 2021]easycms]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121469223</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121469223</guid><author>cjdgg</author><pubDate>Mon, 22 Nov 2021 13:07:07 +0800</pubDate><description><![CDATA[[GKCTF 2021]easycms
这题进去就如下图所示

试着点了一下，所有东西都不能跳转，也就是说这个页面没啥可用的
扫目录扫出了个admin.php,账号密码是admin/12345

登陆后找一找有没有漏洞点

在导出主题这里发现了个文件下载

base64解码

猜测存在任意文件下载


拿到flag

...]]></description><category></category></item><item><title><![CDATA[[GKCTF 2021]hackme]]></title><link>https://blog.youkuaiyun.com/cjdgg/article/details/121435835</link><guid>https://blog.youkuaiyun.com/cjdgg/article/details/121435835</guid><author>cjdgg</author><pubDate>Sun, 21 Nov 2021 13:36:33 +0800</pubDate><description><![CDATA[[GKCTF 2021]hackme

进入题目后，题目如上所示，查看页面源代码

提示nosql，这里推荐WHOAMI大佬的文章
这里源代码我们也看到了php头，那我们就看大佬文章里php中的nosql注入部分就行
这里数据包是json格式，我们试一下重言式注入

被过滤了，提示也说了，可以用Unicode绕过

成功绕过，这里放的是ne,意思为不等于，可以再试试eq,我把用户名的换成了eq，可以看到这个报错，应该是用户名对了，密码不对(ne和eq前面要有$符号的，csdn不知道为啥写不出来)

既然如此]]></description><category></category></item></channel></rss>