
专题
文章平均质量分 76
深入的一些学习
存在,及合理
记录点点滴滴,汇成山河大海
展开
-
SpringMvc-文件上传基础 01
【代码】SpringMvc-文件上传基础 01。原创 2024-11-26 22:15:02 · 208 阅读 · 0 评论 -
序列化-安全
这些类都是平常会使用,但不会序列化的一些工具类,因此我们可以将它们纳入到黑名单中,不允许应用反序列化这些类(在最新的版本中,已经更改为 hashcode 的形式)。可以通过认证,来避免应用接受黑客的异常输入。因此,在调用链中通常会涉及非常规的类,比如,刚才那个 demo 中的 InvokerTransformer。我认为,只要你在反序列化的过程中,避免了所有的接口类(包括类成员中的接口、泛型等),黑客其实就没有办法控制应用反序列化过程中所使用的类,也就没有办法构造出调用链,自然也就无法利用反序列化漏洞了。原创 2024-11-17 16:14:27 · 302 阅读 · 0 评论 -
序列化和反序列化的一致性
要解决这个问题,可以开启 Jackson 的 read_unknown_enum_values_using_default_value 反序列化特性,也就是在枚举值未知的时候使用默认值:并为枚举添加一个默认值,使用 @JsonEnumDefaultValue 注解注释:UNKNOWN(-1"未知"原创 2024-11-16 19:24:39 · 1166 阅读 · 0 评论 -
序列化与反序列化-从规范说起-解读(待)
2)如果不加栈信息,只是 new 自定义异常,加入自己的理解的 error message,对于调用端解决问题的帮助不会太多。在本文 MySQL 规约中的建表约定第一条,表达是与否的变量采用 is_xxx 的命名方式,所以,需要在设置从 is_xxx 到 xxx 的映射关系。Java代码用正则来验证客户端的输入,有些正则写法验证普通用户输入没有问题,但是如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的结果。⚫SQL注入,Shell注入,反序列化注入。原创 2024-11-14 00:25:41 · 382 阅读 · 0 评论 -
序列化与反序列化-基本了解使用
网络传输的数据必须是二进制数据,但调用方请求的出入参数都是对象。对象是不能直接在网络中传输的,所以我们需要提前把它转成可传输的二进制,并且要求转换算法是可逆的,这个过程我们一般叫做“序列化”。 这时,服务提供方就可以正确地从二进制数据中分割出不同的请求,同时根据请求类型和序列化类型,把二进制的消息体逆向还原成请求对象,这个过程我们称之为“反序列化”。序列化就是将对象转换成二进制数据的过程,而反序列就是反过来将二进制转换为对象的过程。RPC通信流程图 目前主流的微服务框架却几乎没有用到 Ja原创 2024-11-13 23:54:12 · 1500 阅读 · 0 评论