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

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

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

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

            XML Injection

            ABSTRACT

            如果在 XML 文檔中寫入未驗證的數據,可能會使攻擊者修改 XML 的結構和內容。

            EXPLANATION

            XML injection 會在以下情況中出現:

            1. 數據從一個不可信賴的數據源進入程序。

            2. 數據寫入到 XML 文檔中。

            應用程序通常使用 XML 來存儲數據或發送消息。當 XML 用于存儲數據時,XML 文檔通常會像數據庫一樣進行處理,而且可能會包含敏感信息。XML 消息通常在 web 服務中使用,也可用于傳輸敏感信息。XML 消息甚至還可用于發送 authentication 憑證。

            如果攻擊者能夠寫入原始 XML,則可以更改 XML 文檔和消息的語義。危害最輕的情況下,攻擊者可能插入無關的標簽,導致 XML 解析器拋出異常。XML injection 更為嚴重的情況下,攻擊者可以添加 XML 元素,更改 authentication 憑證或修改 XML 電子商務數據庫中的價格。還有些情況,XML injection 甚至可以導致 Cross-Site Scripting 或 Dynamic Code Evaluation。

            例 1:

            假設攻擊者能夠控制下列 XML 中的 shoes


            <order>
            <price>100.00</price>
            <item>shoes</item>
            </order>


            現在假設,在后端 Web 服務請求中包含該 XML,用于訂購一雙鞋。假設攻擊者可以修改請求,并將 shoes 替換成 shoes</item><price>1.00</price><item>shoes。新的 XML 如下所示:

            <order> <price>100.00</price> <item>shoes</item><price>1.00</price><item>shoes</item></order>


            當使用 XML 解析器時,第二個 <price> 標簽中的值將會覆蓋第一個 <price> 標簽中的值。這樣,攻擊者就可以只花 1 美元購買一雙價值 100 美元的鞋。

            當攻擊者控制了解析 XML 文檔的前部或全部時,可能發生更嚴重的此類攻擊,我們稱其為 XML eXternal Entity Injection。

            例 2:下面是一些易受 XXE 攻擊的代碼:

            假定攻擊者能控制以下代碼的輸入 XML:


            ...
            <?php
            $goodXML = $_GET["key"];
            $doc = simplexml_load_string($goodXml);
            echo $doc->testing;
            ?>
            ...


            現在設想攻擊者向上述代碼中送入了下列 XML:



            <?xml version="1.0" encoding="ISO-8859-1"?>
            <!DOCTYPE foo [
            <!ELEMENT foo ANY >
            <!ENTITY xxe SYSTEM "file:///c:/boot.ini" >]><foo>&xxe;</foo>



            在此 XML 的處理過程中,<foo> 元素的內容中填充了系統 boot.ini 文件的內容。攻擊者可能利用返回客戶端的 xml 元素獲取數據或獲取有關網絡資源存在的信息。

            REFERENCES

            [1] Standards Mapping - OWASP Top 10 2010 - (OWASP 2010) A1 Injection

            [2] Standards Mapping - OWASP Top 10 2007 - (OWASP 2007) A2 Injection Flaws

            [3] Standards Mapping - OWASP Top 10 2004 - (OWASP 2004) A6 Injection Flaws

            [4] Standards Mapping - Security Technical Implementation Guide Version 3 - (STIG 3) APP3510 CAT I

            [5] Standards Mapping - Security Technical Implementation Guide Version 3.4 - (STIG 3.4) APP3510 CAT I

            [6] Standards Mapping - Security Technical Implementation Guide Version 3 - (STIG 3) APP3810 CAT I

            [7] Standards Mapping - Security Technical Implementation Guide Version 3.4 - (STIG 3.4) APP3810 CAT I

            [8] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 631

            [9] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 91

            [10] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 - (PCI 1.2) Requirement 6.3.1.1, Requirement 6.5.2

            [11] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0 - (PCI 2.0) Requirement 6.5.1

            [12] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 - (PCI 1.1) Requirement 6.5.6

            [13] Standards Mapping - FIPS200 - (FISMA) SI


            Copyright 2013 Fortify Software - All rights reserved.
            (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
            desc.dataflow.php.xml_injection

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

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

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

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

                      亚洲欧美在线