2015-04-18 117 views
0

我有幾個在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(參數) 風險:可以查看,修改或刪除數據庫條目和表格 原因:在用戶輸入上未正確執行危險字符的衛生

+1

您將不得不提供更多信息。你需要提供一些代碼或一個非常具體的問題。對於調試技術,請嘗試遵循登錄頁面的請求並查看命中數據庫的內容。 – ircmaxell

+0

這是一個AppScan問題,而不是一個asp.net問題。有足夠的信息可以識別發生的特定AppScan問題。應該從問題中移除標誌。 – BranLakes

+1

@BranLakes否,因爲沒有顯示代碼,所以不可能知道是否真的存在SQLi漏洞。所以不可能判斷它是否是假陽性。使用準備好的語句不是一個銀子彈... – ircmaxell

回答

1

AppScan中bSQLi的常見問題。 This article顯示如何驗證誤報並更改閾值。簡短的回答:

有可用的隱藏選項,以做到這一點:

  • 在作業屬性去「高級選項」。
  • 將URL添加到瀏覽器的地址欄中& advancedadmin = 1。
  • 在Generic Developer選項下,找到選項BODY_SIMILARITY_THRESHOLD。設置爲0時,它使用默認值 95%。輸入一個百分比來覆蓋默認值,然後單擊應用。
+0

謝謝你,會嘗試 – xman123