如何避免JAVA中不安全的活页夹配置

What is API ABUSE? 😥

API是调用方和被调用方之间的合同。 API滥用的最常见形式是由调用者未能履行其合同的终止引起的。 例如,如果程序在调用chroot()之后未能调用chdir(),则它违反了指定如何以安全方式更改活动根目录的约定。 图书馆滥用的另一个很好的例子是期望被调用者将可信赖的DNS信息返回给调用者。 在这种情况下,调用者通过对其行为做出某些假设(返回值可用于身份验证目的)来滥用被调用者API。 一个人也可以从另一方违反主叫方合同。 例如,如果编码器将SecureRandom子类化并返回非随机值,则违反合同。

Abstract 🙄

尚未将用于将HTTP请求参数绑定到模型类的框架绑定程序明确配置为允许或禁止某些属性

Explanation 🤓

为了简化开发并提高生产率,大多数现代框架都允许对象自动实例化并使用其名称与要绑定的类的属性匹配的HTTP请求参数进行填充。 自动实例化和对象填充可以加快开发速度,但是如果不谨慎执行就会导致严重的问题。

绑定类或嵌套类中的任何属性都将自动绑定到HTTP请求参数。 因此,即使恶意用户没有通过Web表单或API合同向客户公开,恶意用户也将能够为绑定或嵌套类中的任何属性分配值。

The vulnerability 😩

public class MyClasss implements Serializable {
  // some logic
}

The solution 😊

Jackson提供了可以在类级别使用的注释(JsonIgnoreProperties)。

如此简单,只需添加@JsonIgnoreProperties(ignoreUnknown = true)上课之前。

将以下内容添加到类的顶部(而不是单个方法):

@JsonIgnoreProperties(ignoreUnknown = true)
public class MyClasss implements Serializable {
  // some logic
}

👋

from: https://dev.to//wakeupmh/how-to-avoid-insecure-binder-configuration-in-java-2m7d

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值