本篇介绍了以下代码安全问题
1、请求参数自动填充数据库实体
2、未经身份验证的服务:Redis
3、有风险的SSL:过于广泛的信任证书
4、禁用Spring CSRF保护
5、未经身份验证的服务:MongoDB
6、Android程序:缺少网络安全配置
7、不安全的数据库
8、不安全的SSL:过于广泛的信任证书
9、Cookie:未设置HTTPOnly属性
10、Spring Boot配置错误:启用Admin MBean
1、请求参数自动填充数据库实体
详细信息
持久性框架(如 Hibernate或JPA)通常会自动更新数据库实体,当系统允许请求参数可以直接自动填充数据库持久实体时,攻击者将能够通过提供附加的请求参数向数据库中注入非预期的值。
例如:在下面的示例中,Order、User都是 Hibernate持久类。
public class Order {
String orderId;
List goods;
User User;
...