3個步驟解決SQL注入隱患

2022-03-19 08:57:08 字數 1176 閱讀 7791

現在做**的專業人員越來越多,**也越來越豐富和充實,不過可能很多人都沒有發現,許多**程式在編寫時,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。 這個就是sql注入問題。

sql注入是什麼?

許多**程式在編寫時,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隱患。使用者可以提交一段資料庫查詢**(一般是在瀏覽器位址列進行,通過正常的www埠訪問),根據程式返回的結果,獲得某些想得知的資料,這就是所謂的sql injection,即sql注入。

**的惡夢——sql注入

sql注入通過網頁對**資料庫進行修改。它能夠直接在資料庫中新增具有管理員許可權的使用者,從而最終獲得系統管理員許可權。黑客可以利用獲得的管理員許可權任意獲得**上的檔案或者在網頁上加掛木馬和各種惡意程式,對**和訪問該**的網友都帶來巨大危害。

防禦sql注入有妙法

第二步:對於注入分析器的防範,筆者通過實驗,發現了一種簡單有效的防範方法。首先我們要知道sql注入分析器是如何工作的。在操作過程中,發現軟體並不是衝著「admin」管理員賬號去的,而是衝著許可權(如flag=1)去的。這樣一來,無論你的管理員賬號怎麼變都無法逃過檢測。

第三步:既然無法逃過檢測,那我們就做兩個賬號,乙個是普通的管理員賬號,乙個是防止注入的賬號,為什麼這麼說呢?筆者想,如果找乙個許可權最大的賬號製造假象,吸引軟體的檢測,而這個賬號裡的內容是大於千字以上的中文字元,就會迫使軟體對這個賬號進行分析的時候進入全負荷狀態甚至資源耗盡而宕機。下面我們就來修改資料庫吧。

1.對錶結構進行修改。將管理員的賬號欄位的資料型別進行修改,文字型改成最大欄位255(其實也夠了,如果還想做得再大點,可以選擇備註型),密碼的字段也進行相同設定。

2.對錶進行修改。設定管理員許可權的賬號放在id1,並輸入大量中文字元(最好大於100個字)。

3.把真正的管理員密碼放在id2後的任何乙個位置(如放在id549上)。

我們通過上面的三步完成了對資料庫的修改。

這時是不是修改結束了呢?其實不然,要明白你做的id1賬號其實也是真正有許可權的賬號,現在計算機處理速度那麼快,要是遇上個一定要將它算出來的軟體,這也是不安全的。我想這時大多數人已經想到了辦法,對,只要在管理員登入的頁面檔案中寫入字元限制就行了!就算對方使用這個有上千字元的賬號密碼也會被擋住的,而真正的密碼則可以不受限制。

總而言之,網路的飛速發展,造成了這樣那樣的問題出現,做站人員要時刻保持警惕,做好**的處理工作,以避免不必要的情況發生。

解決sql注入安全隱患

建立語句容器 statement st conn.createstatement 執行sql語句 resultset rs st.executequery select from admin info where name t and pwd b 遍歷結果集 while rs.next 這種方法不安...

SQL注入基本步驟

這篇文章將的比較好 sql注入基本步驟 1 注入點測試 2 查詢字段數 3 判斷回顯位 4 查詢資料庫的基本資訊 5 爆資料庫名 6 爆資料庫表名 7 爆欄位名 現在來介紹幾個在滲透測試中常用的幾個函式和表庫名。hostname 主機名稱 datadir 返回資料庫的儲存目錄 version com...

sql注入解決

所謂sql注入,就是通過把sql命令插入到web表單遞交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。我們永遠不要信任使用者的輸入,我們必須認定使用者輸入的資料都是不安全的,我們都需要對使用者輸入的資料進行過濾處理。1.以下例項中,輸入的使用者名稱必須為字母 數字及下劃...