<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            Missing SecurityManager Check: Serializable

            ABSTRACT

            可序列化的類如果在其構造函數中執行 SecurityManager 檢查,那么它還需要在其 readObject()readObjectNoData 方法中執行相同的檢查。

            EXPLANATION

            調用一個可序列化的類的 readObject() 方法時,不會調用該類中正在進行反序列化的構造函數。因此,如果可序列化的類的構造函數中存在 SecurityManager 檢查,則 readObject()readObjectNoData() 方法中必須存在相同的 SecurityManager 檢查。否則,在類進行反序列化時將繞過此安全檢查。

            例 1:對于下列代碼,構造函數中包含 SecurityManager 檢查,而 readObject()readObjectNoData() 方法中不包含該檢查。


            public class BadSecurityCheck implements Serializable {

            private int id;

            public BadSecurityCheck() {
            SecurityManager sm = System.getSecurityManager();
            if (sm != null) {
            sm.checkPermission(new BadPermission("BadSecurityCheck"));
            }
            id = 1;
            }

            public void readObject(ObjectInputStream in) throws ClassNotFoundException, IOException {
            in.defaultReadObject();
            }

            public void readObjectNoData(ObjectInputStream in) throws ClassNotFoundException, IOException {
            in.defaultReadObject();
            }
            }

            REFERENCES

            [1] "Secure Coding Guidelines for the Java Programming Language, version 2.0" Sun Microsystems, Inc. [Online].[Accessed:Aug. 30, 2007]. Sun Microsystems, Inc.

            [2] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 358

            [3] C. Lai Java Insecurity:Accounting for Subtleties That Can Compromise Code


            Copyright 2013 Fortify Software - All rights reserved.
            (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
            desc.structural.java.missing_securitymanager_check_serializable

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线