很多SAST集成了FindSecBugs这个开源工具,其好处是直接对Class文件进行检测,也就是直接检测二进制问题,可以直接检测war、jar,还是非常方便的。虽然误报率较高,但是这些检测出来的安全漏洞很多是安全从业人员耳熟能详的漏洞,所以,可能感觉还不错的。
分类 | 规则名称 |
加密类 | 使用弱信任管理器 |
使用弱密码哈希函数 | |
使用弱SSL/TLS协议 | |
使用自定义HASH加密算法 | |
十六进制转换错误 | |
不安全的Hazelcast对称加密 | |
使用不安全的NullCipher | |
未加密的套接字 | |
未加密的服务器Socket | |
AES应该代替DES | |
AES应该代替DESede | |
没有适当填充的RSA密码 | |
使用弱密钥大小的Blowfish算法 | |
使用弱密钥大小的RSA | |
初始化向量(IV)未正确生成 | |
不提供完整性的密码 | |
不安全的SMTP SSL链接 | |
通过错误消息检测可能的信息泄露 | |
JSP | 远程包含JSP动态输入文件攻击 |
Spring表达式动态变量 | |
禁用特殊XML字符的转义可能会导致XSS漏洞 | |
提供恶意XSLT触发远程控制攻击 | |
Android | 外部存储上的文件访问 |
SendBroadcast()方法调用存在安全隐患 | |
使用创建模式MODEWORLDREADABLE写入的文件存在安全隐患 | |
Geolocation API的安全隐患 | |
启用了JavaScript的WebView存在安全隐患 | |
带JavaScript接口的WebView | |
CSRF | Spring CSRF(跨站请求伪造)保护禁用 |
无限制的Spring的RequestMapping使该方法容易受到CSRF攻击 | |
注入类 | AWS查询注入 |
JavaBean参数注入 | |
潜在的命令行注入 | |
自定义方法注入 | |
ActionForward填充了用户控制的参数 | |
以格式字符串参数检测用户输入 | |
将用户控制的输入连接到URL | |
潜在的LDAP注入 | |
未经验证的重定向 | |
潜在的SQL注入 | |
应用程序在会话属性中混合可信和不可信数据 | |
密码类 | 对易受定时攻击影响的哈希的不安全比较 |
硬编码密码 | |
硬编码加密密钥 | |
Spring类 | 使用Spring Framework进行未经验证的重定向 |
模板类 | 使用Velocity模板存在潜在注入 |
使用Freemarker模板存在潜在注入 | |
Xpath注入类 | 潜在的XPath注入 |
XSS攻击类 | XSSRequestWrapper是一种弱XSS保护机制 |
JSP中潜在的XSS | |
Servlet中潜在的XSS | |
cookie存储类 | Cookie设置时间过长 |
URL重写安全风险 | |
使用Cookie存储敏感信息 | |
没有设置安全标志的Cookie | |
文件类 | 潜在的路径遍历 |
由FileUpload API提供的文件名可以被客户端篡改 | |
序列化类 | 不安全的Jackson反序列化配置 |
对象反序列化 | |
LDAP | LDAP实体投毒 |
匿名LDAP绑定 | |
XML | XML解析容易受到XXE外部实体攻击 |
使用XMLDecoder解析用户提供的数据是不安全的 | |
恶意XSLT可触发远程代码执行 | |
其它 | FilenameUtils不过滤空字节 |
HTTP拆分攻击 | |
Structs表单没有输入验证 | |
定义了一种过度宽松的跨源资源共享(CORS)策略 | |
检测可预测伪随机生成器(PRG)的使用 | |
正则表达式可以通过一些输入呈指数增长 | |
潜在的外部控制配置 | |
endpoint | Struts Action问题 |
使用SpringMVC Controller问题 | |
使用Tapestry Pages问题 | |
使用Wicket WebPage问题 | |
来自ServletRequest和HttpServletRequest请求的参数值不安全 | |
使用Struts2问题 |