什麼是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要檢查用戶的輸入的危險人物像單引號;和使用事先準備好的發言稿,這說明數據庫正是期望在任何用戶提供的數據傳遞給它。
|
漏洞管理傻瓜
我們的朋友在Qualys的是提供免費的副本,電子版的漏洞管理傻瓜以技術問題解答讀者。 漏洞管理傻瓜:
| |






