代码审计常见漏洞与危险函数

发布时间 2023-09-11 22:36:13作者: pan8a

程序命名规范

  • 持久层: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对路由做了限制,但是没做危险字符过滤