lambda 表达式的序列化有哪些安全风险?

2024-04-24

只是回顾一下 Streams 和 Java 8 Lambda 功能,以及对其他不言自明的 Oracle 文档的最后评论拉姆达表达式 http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html states:

如果 lambda 表达式的目标类型及其 捕获的参数是可序列化的。然而,就像内部类一样, 强烈建议不要序列化 ​​lambda 表达式。

检查这个我发现了SO问题

如何序列化 lambda? https://stackoverflow.com/questions/22807912/how-to-serialize-a-lambda

其中 OP 处理来自客户端代码的序列化 lambda 表达式。

如果我有一个 Web 服务,并且其中一个参数是 lambda 表达式,那么它似乎可能包含恶意代码,可以执行文件系统访问或导致堆栈溢出等操作 - 因此信任它是非常愚蠢的。

我是否过分夸大了安全风险,或者序列化表达式可以包含的内容是否有限制?


让我们这样说:Java 对象序列化(在某种程度上)无论如何都是一场安全噩梦(请参阅here https://stackoverflow.com/questions/11417103/serialization-how-to-secure-a-serialized-java-object例如 )。

换句话说:序列化其本身就是一个需要人们首先认真思考的话题。因此,无论您谈论序列化 lambda 还是任何其他类型的序列化对象,都并不重要。

因此,例如您想确保您理解并支持相应的规则,例如CERT https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=27492407.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lambda 表达式的序列化有哪些安全风险? 的相关文章

  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 使用 jQuery 从 CKEditor 的 iframe 中获取内容

    我有一个自定义编写的 CMS 它使用CKEditor http ckeditor com FCKEditor v3 用于编辑内容 我也在使用jQuery 验证 http bassistance de jquery plugins jquer
  • 未捕获 Func<> 的异常(异步)

    我有以下代码 为了进行此重现而进行了简化 显然 catch 异常块将包含更多逻辑 我有以下代码 void Main var result ExecuteAction async gt Will contain real async code
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • Spring @RequestMapping 带有可选参数

    我的控制器在请求映射中存在可选参数的问题 请查看下面的控制器 GetMapping produces MediaType APPLICATION JSON VALUE public ResponseEntity
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • getResourceAsStream() 可以找到 jar 文件之外的文件吗?

    我正在开发一个应用程序 该应用程序使用一个加载配置文件的库 InputStream in getClass getResourceAsStream resource 然后我的应用程序打包在一个 jar文件 如果resource是在里面 ja
  • 如何在 javadoc 中使用“<”和“>”而不进行格式化?

    如果我写
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • Java列表的线程安全

    我有一个列表 它将在线程安全上下文或非线程安全上下文中使用 究竟会是哪一个 无法提前确定 在这种特殊情况下 每当列表进入非线程安全上下文时 我都会使用它来包装它 Collections synchronizedList 但如果不进入非线程安
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • ORM 是用于迁移数据的正确工具吗?

    背景 我们正在升级旧版导入工具 它的作用是将数据从连接到 SQL Server 的一个数据库移动到同一服务器上的第二个数据库 并使用不同的模式沿途执行转换和映射 这是一个帮助解释正在发生的事情的示例 假设源数据库有一张表名为Client I
  • Java - 点在线

    我如何找出点 x y 是否位于其他两个点之间创建的线上 我尝试了这个 但似乎有些问题 因为我没有得到我应该得到的结果 public boolean intersects Point k Point z Point p Line2D line
  • Jackson 或 JAXB,哪一个更适合 JSON? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想知道 JSON Jackson 或 JAXB 哪一个更好 我做了一些研究 我知道 也许我错了 我们不应该使用 JAXB 来转换 JSON 某
  • 比较当前月份和上个月的列上的行,SQL Server 2012

    我需要一些指导和帮助来解决我不完全确定如何在 SQL Server 2012 中解决的问题 我认为LAG and LEAD函数可能有用 但我不确定 这就是我的数据现在的样子 YearMonth LocationCode Active 201
  • 是否可以使用文件名模式创建 blob 触发的 azure 函数?

    我正在开发一个 blob 触发的 azure 函数 以下是我的 function json 文件的配置 disabled false bindings name myBlob type blobTrigger direction in pa
  • 如何在 CKEditor 中更改已注册的对话框

    我正在尝试编写一个插件 向图像对话框添加一个附加选项卡 页面 我不想更改对话框的源本身 而是使用插件来增强它 我搜索文档和论坛已经有一段时间了 现在我知道我可以在对话框对象上调用 addPage 来添加另一个选项卡 我也了解内容对象必须是什
  • 识别 Pandas 数据框中组中重复项的更好方法? [复制]

    这个问题在这里已经有答案了 我有一个数据框 x c 0 0 1 1 3 2 2 1 1 3 2 1 4 3 1 5 4 1 6 1 0 7 3 1 8 2 1 9 1 2 我想生产 c x duplicated 0 1 0 False 1
  • 如何交错或创建两个字符串的唯一排列(无需递归)

    问题是打印两个给定字符串的所有可能的交错 所以我用 Python 编写了一个工作代码 其运行如下 def inter arr1 arr2 p1 p2 arr thisarr copy arr if p1 len arr1 and p2 le
  • 如何动态更改母版页

    我想为一个纯aspx文件动态分配一个母版页 任何人都可以告诉我 如何做到这一点 您可以覆盖 default aspx cs 中的 OnPreInit 并根据查询字符串中的某些值设置母版页 像这样的事情 protected override
  • 什么是低位和高位?

    谁能告诉我什么是低位和高位 如何识别高位和低位 下面是二进制形式 如何0110里面有更高位吗 0110 0111 1100 1010 1100 0111 1001 1011 就像十进制一样 二进制中较高位通常写在左侧 所以如果你看到0111
  • pandas.concat 和 numpy.append 大数据集的内存错误

    我面临一个问题 我必须在循环中生成大型 DataFrame 每次两个 2000 x 800 pandas DataFrame 时进行 50 次迭代计算 我想将结果保存在内存中更大的 DataFrame 中 或者保存在类似字典的结构中 使用
  • 查找 Java Enum 的最佳实践

    我们有一个 REST API 客户端可以提供代表服务器上 Java 枚举中定义的值的参数 所以我们可以提供一个描述性错误 我们添加这个lookup每个枚举的方法 看起来我们只是在复制代码 不好 有更好的做法吗 public enum MyE
  • AWS - t2.micro 实例 EBS 卷大小

    我试图通过 AWS 控制台创建 t2 micro 实例 我希望它免费一年 但它不附带任何实例存储 所以我想在这个实例中添加 EBS 卷 免费吗 我可以在 t2 micro 中免费添加的最大 EBS 卷是多少 Model vCPU CPU C
  • 我应该使用全局变量在整个服务器上共享 socket.io 实例吗

    以下是我的 node js 应用程序中的 server js 文件 我希望我的 socket io 实例能够被服务器上的其他文件访问 以便从我的 API 发出事件 listingRoutesApi userRoutesApi etc ref
  • 包含“类型”成员的联合

    关于工会 我有一个关于我仍然不明白的问题 我读过它们的很多用途 并且大部分都可以看到它们如何有用并理解它们 我已经看到它们可以提供原始的 C 风格 多态性 我在几个网站上看到的例子是 SDL 的事件联盟 typedef union Uint
  • ui-router:没有视图模板的路由

    是否可以设置路线ui router只有一个控制器 目的是在某个 URL 处 我唯一想做的是以编程方式执行操作 而不是在视图中显示任何内容 我已经阅读了文档 但我不确定他们是否提供了一种方法来做到这一点 是的 我读过这个 https gith
  • 在设置为日本区域设置和语言的 Windows 10 上使用 Java 9 时,未正确打印 IOException 消息

    在此特定块中抛出异常 try transport m readListener onReadTransport transport catch IOException e gt onIOException e transport onIOE
  • IE11 和 Edge 中出现带有 border-radius 的幽灵“边框”

    在 IE11 和 Edge Windows 10 上 中 以下 HTML CSS 在不应该出现的地方显示奇怪的透明边框
  • Matlab:通过扩展向量来扩展矩阵

    我有一个dxmxn matrix A 解释 对于每个n 有m维度向量d 我想将每个 d 维向量扩展如下 考虑一个向量v维度 d 1 2 d 它是 x 1 x 2 x d 但为了简单起见 我删除了 x 目标是延长v获得一个d d向量形式 1
  • lambda 表达式的序列化有哪些安全风险?

    只是回顾一下 Streams 和 Java 8 Lambda 功能 以及对其他不言自明的 Oracle 文档的最后评论拉姆达表达式 http docs oracle com javase tutorial java javaOO lambd