Java代码审计学习笔记(四)
零、学习项目
https://github.com/JoyChou93/java-sec-code
https://blog.csdn.net/q20010619/article/details/121193556
一、SQL注入
JDBC拼接不当造成SQL注入
Mybatis采用${Parameter}会造成sql注入
二、命令注入
Java命令执行两种常用的方式
ProcessBuilder pb=new ProcessBuilder(cmd);
pb.start();
Runtime
Runtime.getRuntime().exec(cmd)
在Java环境中的命令注入,连接符号的使用存在一些局限
三、代码注入
指在正常的Java程序中注入一段Java代码并执行
如果Java反射传入的参数可控,那么可以传入不同的类名、方法名和参数来执行不同的功能。
四、EL表达式注入
CVE-2018-1273 Spring Data Commons远程代码执行漏洞
五、模板注入
六、失效的身份认证
WebGoat8 JWT Token猜解实验