代碼漏洞掃描
漏洞描述:Cross Site History Manipulation
簡要描述:產品的行為差異或發送不同的反應,在某種程度上暴露了與安全性相關的產品狀態,例如特定的操作
是否成功。
可能的漏洞消除辦法:
區分你的系統"安全"的區域,這些區域可以明確地繪制信任邊界。不允許敏感數據到信任邊界的外面
,和安全區域外的空間交互時需要時刻小心。
為錯誤條件設置通用的響應。這個錯誤頁面不應該透露有關成功或失敗的敏感性操作的信息。例如,
登錄頁面不應該確認登錄是正確的和密碼是錯誤的。攻擊者想通過嘗試輸入隨機帳戶名稱來猜測正確
賬戶名其中的一些。確認帳戶存在將使登錄頁面更容易受到強力攻擊。
解決辦法:
驗證成功后,有頁面跳轉,這時給頁面加一個隨機數,如下:
Response.Redirect("dongcoder.aspx?rand=" + Common.getRandValue());
其中getRandValue方法如下,
public static string getRandValue() { string randValue = ""; using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider()) { byte[] data = new byte[4]; rng.GetBytes(data); Int32 value = BitConverter.ToInt32(data, 0); if (value < 0) value = -value; randValue = value.ToString(); } return randValue; }
需要添加引用
using System.Security.Cryptography;
這里用了另外生成隨機數的方法,如果使用常用Random方法則還會繼續爆出漏洞。
摘自:代碼漏洞掃描描述Cross Site History Manipulation解決辦法