用FRP实现Cobalt Strike本地上线 前言如果将Cobalt Strike部署在VPS上,长期使用VPS会被标记。另外,大家使用的一般是破解版,不能确保没有后门之类的东西。那可以将CS部署在虚拟机里,利用FRP转发上线。 比如现在有三个角色:公网服务器:41.24.10.40 CS服务器:192.168.73.98(虚拟机里) 靶机:192.168.112.130(可以访问公网) 实现步骤在公网服务器上frp绑定端 2024-07-03 内网安全 #内网安全
Java反序列化Shiro 550分析 漏洞简介影响版本:Shiro <= 1.2.4 漏洞根本原因:固定key加密 Shiro特征:返回包中包含rememberMe=deleteMe字段。 Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RC 2024-06-09 JAVA #JAVA安全
Java反序列化CommonsBeanutils链 前言 CommonsBeanutils属于Apache Commons 工具集下的一个项目,它和Commons-Collections很像,也是对JAVA内置功能的加强,CC是对JAVA集合类的增强,CB是对JavaBean的加强。 环境搭建1234567<dependencies> <dependency> <groupId>c 2024-06-08 JAVA #JAVA安全
Java反序列化CommonsCollections篇-CC11 前言之前在学习CC2的时候,CC2是CC3+CC4改写的。 从图中就可以看出来,CC6也能走到TemplatesImpl,然后直接加载字节码。 CC2+CC6改写,就是CC11 CC11利用链之前在Java反序列化CommonsCollections篇-CC3中提到利用ClassLoader#defineClass直接加载字节码的方式,在这里可以直接使用。 其实这样的话,直接使用CC2加载恶意字 2024-06-05 JAVA #JAVA安全
Java反序列化CommonsCollections篇-CC7 前言CC7本质上也是对CC1的改写,走到了万恶之源LazyMap最终导致反序列化。 前置知识HashTable散列函数(哈希函数)中心思想: 不同参数返回不同哈希值 相同参数返回相同哈希值 比如我输入葡萄返回10,输入西瓜返回3,下次输入西瓜还是返回3 (传入不同参数时,哈希值一定都不相同么?事实上任何算法在理论上都不能保证。这种参数不同结果相同的情况学名叫做“Hash冲突(Hash碰撞)” 2024-06-04 JAVA #JAVA安全
Java反序列化CommonsCollections篇-CC5 前言本质上也就是前面几条CC链改来改去,换了一个入口类。 环境搭建 JDK8u65 commons-collections 3.2.1 1234567<dependencies> <dependency> <groupId>commons-collections</groupId> < 2024-06-02 JAVA #JAVA安全
Java反序列化CommonsCollections篇-CC2 前言CC3中我们了解到TemplatesImpl()调用Transformer()方法就可以代码执行。 CC2就在在这个基础上,结合CC4改写。CC2最大的优势就是不用Transformer 数组。 环境搭建 JDK8u65 CommonsCollections4 1234567<dependencies> <dependency> <group 2024-06-02 JAVA #JAVA安全
Java反序列化CommonsCollections篇-CC4 前言前面几条链都是CommonsCollections3中产生的反序列化漏洞,后来Apache更新了大版本4.0,也产生了反序列化漏洞。 环境搭建 JDK8u65 CommonsCollections4 1234567<dependencies> <dependency> <groupId>org.apache.commons</gr 2024-06-01 JAVA #JAVA安全
源码部署WebGoat 环境搭建WebGoat项目地址: WebGoat 需要JAVA17或者JAVA21,因为Spring boot3最低要求是JAVA17. 下载项目1git clone https://github.com/WebGoat/WebGoat.git 使用IDEA构建项目IDEA自带maven所以我们不需要单独下载 找到~/WebGoat/pom.xml用idea打开,选择open as peoje 2024-05-29 JAVA #JAVA代码审计
Java反序列化CommonsCollections篇-CC3 前言CC1和CC2都是通过反序列化自动执行了object()方法最终导致了InvokerTransformer.transform(Method.invoke())的命令执行,那有没有一种可能,不通过InvokerTransformer.transform(Method.invoke())来进行命令执行?CC3给出了答案,CC3是通过JAVA的动态类加载机制来自动执行恶意类代码。 环境配置 JDK 2024-05-27 JAVA #JAVA安全