gpt4 book ai didi

java - JMS中不可信数据反序列化安全问题

转载 作者:行者123 更新时间:2023-12-02 01:00:13 34 4
gpt4 key购买 nike

我正在我的 Java EE 应用程序中使用 bean 发送邮件。我的发送邮件类是通过xDoclet生成的。类代码如下

public void onMessage(javax.jms.Message message)   {
MapMessage mapMsg = (MapMessage) message;
String toEmailAddress = mapMsg.getString("toAddress");
String ccEmailAddress = mapMsg.getString("ccAddress");
String from = mapMsg.getString("from");
String subject = mapMsg.getString("subject");
String content = mapMsg.getString("body");
}

现在,我在 checkmarx 中遇到了此类的一些安全问题,如 - JMS 行中不受信任数据的反序列化

String toEmailAddress = mapMsg.getString("toAddress");
String ccEmailAddress = mapMsg.getString("ccAddress");

最佳答案

基于 JMS 中不受信任数据反序列化的 Checkmarx 查询,在转换时添加 try catch block 并检查消息是否不是 ObjectMessage 的实例:

public void onMessage(javax.jms.Message message)   {    
try {
if !(message instanceOf ObjectMessage){
MapMessage mapMsg = (MapMessage) message;
String toEmailAddress = mapMsg.getString("toAddress");
String ccEmailAddress = mapMsg.getString("ccAddress");
String from = mapMsg.getString("from");
String subject = mapMsg.getString("subject");
String content = mapMsg.getString("body");
}
}
catch {}
finally {}
}

关于java - JMS中不可信数据反序列化安全问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57775378/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com