分析版本:pocsuite3-1.9.6
pip直接安装会附带两个可执行文件,pocsuite
对应CLI方式启动,poc-console
对应msf类型的console方式启动
可以从setup.py
和可执行文件源码中发现其实就是运行对应的python文件的方法
分析CLI模式,大概流程非常简单清晰,检查环境->初始化配置->start开始扫描任务
分析版本:pocsuite3-1.9.6
pip直接安装会附带两个可执行文件,pocsuite
对应CLI方式启动,poc-console
对应msf类型的console方式启动
可以从setup.py
和可执行文件源码中发现其实就是运行对应的python文件的方法
分析CLI模式,大概流程非常简单清晰,检查环境->初始化配置->start开始扫描任务
题目内容:最近,小明在学习php开发,于是下载了thinkphp的最新版,但是却被告知最新版本存在漏洞,你能找到漏洞在哪里吗?
1 | <?php |
在 jdk 1.5 之后引入了 java.lang.instrument 包,该包提供了检测 java 程序的 Api,比如用于监控、收集性能信息、诊断问题,通过 java.lang.instrument 实现的工具我们称之为 Java Agent ,Java Agent 能够在不影响正常编译的情况下来修改字节码,即动态修改已加载或者未加载的类,包括类的属性、方法
Agent 内存马的实现就是利用了这一特性使其动态修改特定类的特定方法,将我们的恶意方法添加进去
说白了 Java Agent 只是一个 Java 类而已,只不过普通的 Java 类是以 main 函数作为入口点的,Java Agent 的入口点则是 premain 和 agentmain
Java Agent 支持两种方式进行加载:
众所周知,在 Fastjson中 parse 会识别并调用目标类的特定 setter 方法及特定的 getter 方法,特定规则其实总结起来就是一般的setter方法以及一般的返回值类型继承自Collection Map AtomicBoolean AtomicInteger AtomicLong的getter方法
那么对于一般的不满足条件的getter方法能否进行调用呢
index.php
1 | <?php |
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。
Fastjson使用包含如下几个核心函数
1 | //序列化 |
pom.xml
1 | <dependency> |
在ysoserial 的payloads目录下 有一个jdk7u21,以往的反序列化Gadget都是需要借助第三方库才可以成功执行,但是jdk7u21的Gadget执行过程中所用到的所有类都存在在JDK中
影响版本:
测试环境:
pom.xml
1 | <dependency> |
需要添加javassist依赖