程序命名规范
- 持久层:dao、persist、mapper
- 实体类:entity、model、bean、javabean、pojo
- 业务逻辑:service、biz
- 控制器:controller、servlet、action、web
- 过滤器:filter
- 异常:exception
- 监听器:listener
第三方组件
Shiro
- 反序列化RCE
- 权限绕过
Struts2
Weblogic
文件上传
ZIP解压
解压
- 根据数据库ID传输,获取存储路径解压。
任意文件上传
- 直接上传jsp或者php或asp等文件
自解压
- 上传zip会自动进行解压
文件复制
- 将内容复制到另一个文件时,文件名可控。
文件移动
- 文件移动选择目录是可控进行跳转到新文件。
命令执行
- 执行函数(exec()等),且对传入的参数过滤不严格导致 RCE 漏洞
脚本引擎
- Groovy、JavascriptEngine等
模版注入
- 常见的如:Freemarker、Velocity、Thymeleaf等
表达式注入
- 常见的如:OGNL、SpEL、MVEL、EL、Fel、JST+EL等
任意文件读取
XXE
SAXReader
权限绕过
- Filter对路由做了限制,但是没做危险字符过滤