前言上篇跟着网上的教程顺了一遍流程,主要是为了能更熟悉动态调试。 分析FastJSON的解析会分别触发set方法和get方法,而且根据是否有@type字段,会解析setter或者getter方法的恶意代码。 要求FastJson反序列化和原生反序列化的差别: FastJson不需要有Serializable字段 不需要变量不是transient或者可控变量 有setter 或者public/static 或者getter需要满足要求: 反序列化入口点是setter或者getter 执行点可以选择反射或者类加载 FastJson版本<1.2.24JdbcRowSetImpl类+JNDI出网JdbcRowSetImpl这个类其中的connect函数里面使用了lookup函数,可以造成JNDI注入然后找下去,看看getDataSourceName所在的BaseRowSet类。发现有setter方法:可以修改其参数。继续找能调用connect方法的set/get方法,优先找set方法,因为get方法需要有返回参数限制。ctrl + shift + alt + ...
依赖1234567<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.24</version> </dependency></dependencies> 知识准备如果正常情况下,FastJson是如何被使用的呢? 参数获取和参数解析12345678910111213package com.natro92;import com.alibaba.fastjson.JSONObject;public class FastJsonNormalTest { public static void main(String[] args) { String jsonDemo = "{\"name\":\"Boogi ...
ShiroのCommonBeanUtils利用链 - Boogiepop Doesn’t LaughJava反序列化Shiro篇01-Shiro550流程分析 | Drunkbaby’s Blog 前言没有路线,网上的路线学起来太难受了,这里看到哪里学到哪里吧。 环境配置 jdk8u65 Tomcat8 shiro 1.2.4 下载这个然后Shiro项目直接用P神配置好的,这里直接clone下来即可。 JavaThings/shirodemo at master · phith0n/JavaThings 然后使用idea配置一下安装好的Tomcat环境:项目结构已经配置好了:修改运行配置,按照下面要求修改即可:保存运行后可能出现idea无法访问,但是不要紧,直接用浏览器访问即可:localhost:8080/shirodemo_war/login.jsp这里记得将localhost更换为本地ipv4的IP(ipconfig里面那个),否则抓不到包。账号密码是root和secret 分析漏洞点Shiro550 在我之前hvv的时候就遇到了,如果勾选Remem ...
CC6依赖12345678<dependencies> <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> </dependencies> 准备可以看着那个ysoserial的顺序推: ysoserial/src/main/java/ysoserial/payloads/CommonsCollecti ...
懒狗了,把这几个一起说一下吧。反正没改多少。 CC4依赖用的是cc4.0的依赖。 1234567891011121314151617<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifacFtId> <version>4.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.javassist/javassist --> <dependency> <groupId>org.javassist&l ...
Java反序列化Commons-Collection篇03-CC3链 - 1vxyz - 博客园 这个写的不错 前言一天进步一点点了,打awd训练让人把库都删了,菜死我了。 CC3依赖1234567891011121314151617<dependencies> <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <!-- https://mvnreposi ...
通俗易懂的Java Commons Collection 2分析 - 先知社区Java反序列化之CC2Java–cc2链反序列化漏洞&超级清晰详细 - Erichas - 博客园Java反序列化-CC2分析 - 掘金 前言距离上次学习CC1时间有点长了,最近事情太多了,但是java学习不能放下。 知识准备如果搜索Commons-Collections能注意到有两个,一个是cc一个是cc 4.0,而cc2是专门为cc 4.0版本的链子。 CC2依赖12345678910111213141516<dependencies> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-coll ...
打这个之前不知道没有二进制,组了个队三个人就我一个web手,就我能做,而且碰巧那天有事,就没搞。 源码: 链接: https://pan.baidu.com/s/1UyPxdLbXr6ZxwG0zhwP_KA 提取码: flagFrom 公众号:大头Sec ezphp环境搭建1docker run -itd -p 1238:80 php:8.3.2-apache # 这个会自动拉取 然后将相关文件拖到/var/www/html下即可。然后写一个flag 1echo "flag{test_flag" > /flag 复现1234567<?php highlight_file(__FILE__);// flag.phpif (isset($_POST['f'])) { echo hash_file('md5', $_POST['f']);} ?> 做的时候犯蠢了,之前就遇到过这个侧信道,但是测试的时候有的时候行有的时候不行,后来才知道window ...
本来先复现红明谷的,但是看到有人给我传了个这个就先看看这个。国外的比赛。 前言官方下载链接: https://github.com/tamuctf/tamuctf-2024https://tamuctf.com 注意这个提供的复现环境是使用make搭建的,win上安装make环境之后分别使用: 12make buildmake run 就可以构建docker环境,配置环境变量。 Cereal Just made a new website. It’s a work in progress, please don’t judge… 考点: SQL注入构建之后直接开在了本地8000端口上。上来给了一个guest用户的测试账号密码,可以登录进去看看。能看到有一些参数。登录验证的是authenticate.php文件。我们能在profile页面上看到大概需要的内容。能注意profile.php里有base64解析并反序列化Cookie的操作。然后就是看有没有过滤验证等函数:refresh看起来可以注入,测试:联合查询。根据内容构建序列化poc,别直接编码,注意有protected字段 ...
AWD比赛入门攻略总结 因为过几天要参加长城杯线下的awd,前几天参加了一会某平台的awd测试,被打烂了,这里重新准备一下脚本和一些常用命令:其中md5N4tro92.=>b70c5fd752cf767e859543caa10e3a21注意,本篇内容均为网上文章搜罗来的,后期可能会二次修改。且不保证脚本均可跑且无问题,请自行分析。打不过就删服务,谁也别打😡 比赛流程一般情况下是先给一段时间进行加固,再进行攻击。之前参加时候不清楚,以为没有开服务。所以一定详细读规则。 攻击准备信息搜集一般情况下会给一个ip段,然后需要探活寻找其ip。比如bugku平台提供的ip:(图来自网络)批量写脚本然后进行ip探活,其中X为1-255之间批量扫描。或者比如其他比赛:也是类似操作,但是似乎域名不能进行nmap等工具的扫描。 IP、端口 nmap官方文档:https://nmap.org/man/zh/man-host-discovery.htmlhttpscan 主机探测:https://github.com/zer0h/httpscan 查看当前ip12ifconfig ...