我有幾個在aspnet中開發的web應用程序,最近我們的安全辦公室使用ibm security appscan進行掃描,唯一發現的東西是來自登錄頁面的盲注SQL。我一直在使用所有應用程序中的參數化查詢。我從登錄中使用兩層認證,一個是活動目錄,然後是數據庫。我很肯定他們是錯誤的,但是有沒有辦法擺脫錯誤信息?aspnet應用程序與IBM appcan之間的SQL注入漏洞
如果沒有全面掃描,安全辦公室將不會打開端口。我想知道你們是否遇到過這種情況。這太令人沮喪了!
謝謝!好的,謝謝你的回覆。 我有標準的HTML用戶名和密碼文本框,和一個btnSubmit按鈕,他們在contentplace持有人。 這裏是後面的代碼。首先對活動目錄進行身份驗證,如果成功,則再次驗證數據庫。這是數據庫部分:
DatabaseProviderFactory factory=new DatabaseProviderFactory();
Database db =factory.CreateDefault();
DbCommand cmd = db.GetSqlStringCommand("SELECT count(*) FROM [dbo].[tbl_Admins] where [email protected] and active='Y'");
db.AddInParameter(cmd, "Username", DbType.String,HttpUtility.HtmlEncode(txtUsername.Text.Trim()));
int thisAdmin = Convert.ToInt32(db.ExecuteScalar(cmd));
// cmd.Dispose();
如果(thisAdmin> 0){
Response.Redirect("default.aspx");
} ...從掃描
錯誤消息: 嚴重性:高 CVSS分數:9.7 URL: 實體:ctl00 $ ContentPlaceHolder1 $ btnSubmit(參數) 風險:可以查看,修改或刪除數據庫條目和表格 原因:在用戶輸入上未正確執行危險字符的衛生
您將不得不提供更多信息。你需要提供一些代碼或一個非常具體的問題。對於調試技術,請嘗試遵循登錄頁面的請求並查看命中數據庫的內容。 – ircmaxell
這是一個AppScan問題,而不是一個asp.net問題。有足夠的信息可以識別發生的特定AppScan問題。應該從問題中移除標誌。 – BranLakes
@BranLakes否,因爲沒有顯示代碼,所以不可能知道是否真的存在SQLi漏洞。所以不可能判斷它是否是假陽性。使用準備好的語句不是一個銀子彈... – ircmaxell