PointerAnalysis

PointerAnalysis Motivation 如果我们使用CHA创建CallGraph,我们知道CHA仅仅考虑Class Hierarchy(类继承关系),那么正对如下程序分析,因为N

Interprocedural_Analysis

Interprocedural Analysis Motivation 到目前为止,我们学习的分析都是程序内分析(Intraprocedural),这种分析是不处理方法调用的,如果碰到了方法调用,基于Inr

Data_Flow_Analysis

Data Flow Analysis 说明 时间有限,只过了一遍数据流分析中的定值可达分析和变量存活分析,有关数据流分析的Foundation部分没有跟了,后期有时间再慢慢跟

Intermediate_Representation

Intermediate Representation Compilers & Static Analyzers 编译器(Compiler)可以将源码翻译成机器码; 整个翻译过程分为: 词法分析器(Scanner):使用词法分析(Lexical A

Souffle学习笔记

背景 最近在研究自动化代码审计相关的东西,搜集资料时看到了南京大学的《静态软件分析》课程,理论加落地实践都有,甚至那个李老师自己还做了落地项目

重新启程

一些碎碎念 博客大约停更一年了,甚至关停了半年;看着自己未写完的代码、未看完的书,心中感慨万千。这一年里,感觉自己的成长并不是很大,甚至之前学

PHP代码审计学习笔记

PHP的脆弱点汇总 in_array() 这个函数常用于文件上传中的白名单检测,但是这个函数有一个可选的参数(第三个参数),如果这个参数没有使用 true 的话,那么在进行

IDEA配置PHP调试环境

我使用的是IDEA来进行调试php,需要开启两个插件,一个是: PHP Built-in Web Server ,还有一个是: PHP Web Page 。 其中 PHP Built-in Web Server 用于启动一个PHP Server,而 PHP

unzip_slip漏洞

漏洞代码 如下图所示,存在一个上传压缩包的接口,会对上传的文件自动进行解压: @RequestMapping("upload") public ResponseVo<Map<String,Object>> upload(MultipartFile file) throws IOException { // 先将上传的压缩文件进行保存 File target = new File(basePath + File.separator + IdUtil.simpleUUID() + ".zip");

Attack RMI

基本概念 RMI介绍 RMI(Remote Method Invocation)即远程方法调用。使用RMI可以在客户机上调用远程服务器上的对象。RMI是一种行

JEP290机制学习

介绍 官方介绍:https://openjdk.java.net/jeps/290 (1)什么是JEP? JEP 即 JDK Enhancement Proposal (JDK增强提议),目前索引编

Arthas学习

安装使用 (1)安装 1 2 curl -O https://arthas.aliyun.com/arthas-boot.jar java -jar arthas-boot.jar --telnet-port 9998 --http-port -1 (2)退出Arthas 直接运行 quit 或者 exit 命令。但是这不是退出 Arthas ,而是退出当前连接而已,下次还是可以继

MySQL_JDBC反序列化

Gadget Chain 如下图所示,关键点是:ResultSetImpl#getObject(): POC # 8.0.11版本测试通过,8.0.22版本测试不通过 jdbc:mysql://xx.xx.xx.xx:3306/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=root&password=123456&serverTimezone=GMT # 6