http://i48.tinypic.com/2dhei4j.png未檢查數據類型的安全問題
它不檢查密碼類型。密碼可以被定義爲4位無符號整數,如果用戶試圖將他/她的密碼更改爲4位無符號整數,那麼它可能會導致錯誤,是否正確?
如果是這樣,什麼樣的錯誤? 只是一個簡單的錯誤消息,或者這可能是一個重大的安全問題? 有人可以緩衝溢出攻擊嗎?
http://i48.tinypic.com/2dhei4j.png未檢查數據類型的安全問題
它不檢查密碼類型。密碼可以被定義爲4位無符號整數,如果用戶試圖將他/她的密碼更改爲4位無符號整數,那麼它可能會導致錯誤,是否正確?
如果是這樣,什麼樣的錯誤? 只是一個簡單的錯誤消息,或者這可能是一個重大的安全問題? 有人可以緩衝溢出攻擊嗎?
有可能是這裏主要的安全問題!不僅僅是一個錯誤信息。閱讀更多關於SQL注入簡單的規則是,您應該始終對任何字符串用戶輸入進行清理,以確保是,正確的類型,但更重要的是,它不會繞過您的意圖並侵入您的數據庫。
一個簡單的Google搜索返回例如this site。
對於.NET,最好使用SqlParameter
而不是連接字符串來組成您的SQL查詢。 SqlParameter
守衛你對SQL注入......
using (SqlCommand cmd = new SqlCommand("UPDATE tblUser SET Password = @password WHERE [email protected]", conn))
{
cmd.Parameters.Add(new SqlParameter("password ", newPassword));
cmd.Parameters.Add(new SqlParameter("custID", custID));
...
太棒了!謝謝!! – antz
考慮使用參數而不是字符串連接的,它可能會受到SQL注入攻擊
尼斯[SQL注入孔(http://bobby-tables.com)。享受你的服務器pwn3d。究竟是什麼緩衝區擔心溢出?你爲任何他們想要的東西都敞開了大門。 –
嗯讓我讀你給我的鏈接,看看你的意思是讓我的大門敞開。 – antz
newPassword ='1234',custID =「1」或1 = 1 - 「,你去了,我只是拉了[Bobby tables](http://xkcd.com/327/) – Ibu