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

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

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

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

            Value Shadowing

            ABSTRACT

            程序以不明確的方式訪問變量,這會導致它易受攻擊。

            EXPLANATION

            HttpRequest 類以數組訪問形式(如 Request["myParam"])從 QueryStringFormCookiesServerVariables 集合提供對變量的程序訪問。當多個變量具有相同的名稱時,.NET 框架將返回按以下順序搜索集合時首先顯示的變量的值:QueryStringFormCookies,然后是 ServerVariables。因為 QueryString 首先出現在搜索順序中,所以 QueryString 參數可以取代來自表單、cookie 和服務器變量的值。同樣,表單值可以取代 CookiesServerVariables 集合中的變量,來自 Cookies 集合的變量可以取代來自 ServerVariables 的變量。


            例 1:假設某個銀行應用程序將用戶的電子郵件地址臨時存儲在 cookie 中,并在需要聯系該用戶時讀取該值。以下代碼將讀取 cookie 值,并將帳戶余額發送到指定的電子郵件地址。


            ...
            String toAddress = Request["email"]; //Expects cookie value
            Double balance = GetBalance(userID);
            SendAccountBalance(toAddress, balance);
            ...

            假設在訪問 http://www.example.com/GetBalance.aspx 時執行上述代碼。如果攻擊者能夠使認證用戶單擊請求 http://www.example.com/GetBalance.aspx?email=evil%40evil.com 的鏈接,那么包含該用戶的帳戶余額的電子郵件將被發送到 evil@evil.com


            Copyright 2013 Fortify Software - All rights reserved.
            (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
            desc.semantic.dotnet.value_shadowing

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

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

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

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

                      亚洲欧美在线