什麼是SQL注入攻擊/弱點?

這種常見問題的答案是書面的k4thryn :

阿SQL注入漏洞時,可能會發生欠佳的書面程序使用用戶提供的數據在數據庫中查詢而不首先驗證輸入。 這是最經常發現在網頁的動態內容。 有一些優秀的教學課程和說明性文章關於這個問題,以及許多漏洞張貼針對不同的應用充分披露的網站。

一個簡單的例子的SQL注入是一種基本的HTML表單登錄在您提供的用戶名和密碼:


	  <form method="post" action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  “ /表格” 

鑑於這一片段的HTML ,我們可以推斷,最簡單的(和最差)為腳本“ process_login.php ”工作將是它建立和執行數據庫查詢看起來像這樣:

	  “選擇編號 
	 從登錄 
	 其中username = ' $ UserName '的 
	 和password = ' $密碼“ ; 

在這種情況下,如果變量“ $的用戶名”和“ $密碼”是直接從用戶的輸入,登錄腳本可以很容易地欺騙,認為有效的密碼提供了玩的語法SQL語句。 假設以下字符串提供的密碼:

	  '或'' = ' 

我們給“鮑勃”作為用戶名。 一旦變量插值,上述查詢將如下所示:

	  “選擇編號 
	 從登錄 
	 其中username = '鮑勃 
	 和password = ''或'' = '' “ ; 

此查詢將返回行,因為最後條款:

	  ... 或'' = '' 

將永遠評價為true (空字符串總是等於空字符串) 。

防止SQL注入攻擊

最常用的方法,以防止這種SQL注入vunerability要檢查用戶的輸入的危險人物像單引號;和使用事先準備好的發言稿,這說明數據庫正是期望在任何用戶提供的數據傳遞給它。

SQL Server安全 掌握SQL Server 2000安全 SQL Server安全蒸餾水 甲骨文安全手冊:實施全面有效的安全計劃在您的Oracle環境
購買這些優秀的書籍在SQL安全在Amazon.com


最常見的5個免費網絡工具

漏洞管理傻瓜

我們的朋友在Qualys的是提供免費的副本,電子版的漏洞管理傻瓜以技術問題解答讀者。

漏洞管理傻瓜:

  • 說明了迫切需要的漏洞管理
  • 詳細介紹了基本最佳實踐步驟,一個成功的脆弱性管理程序
  • 概述了各種漏洞管理解決方案-包括優點和缺點每個
  • 聚焦屢獲殊榮的QualysGuard漏洞管理解決方案
  • 提供了一個10點的清單,消除安全漏洞從您的關鍵資源
書籤什麼是SQL注入攻擊/弱點?

最新的博客帖子


英文 英文 德語 德語 西班牙語 西班牙語 法文 法文 意大利語 意大利語 葡萄牙語 葡萄牙語 俄文 俄文 荷蘭文 荷蘭文
希臘語 希臘語 印地文 印地文 日語 日語 韓文 韓文 中文 中文 中文(簡體) 中文(簡體) 阿拉伯語 阿拉伯語

版權所有2009年技術常見問題解答 保留所有權利。 隱私政策。