很多網站程序是在沒有判斷用戶輸入數據合法性的情況下編寫的,使得應用程序存在安全隱患。用戶可以提交壹個數據庫查詢代碼(通常在瀏覽器地址欄中,通過正常的www端口訪問),根據程序返回的結果獲取自己想要了解的壹些數據。這就是所謂的SQL註入,也就是SQL註入。
網站的噩夢——SQL註入
SQL註入通過網頁修改網站數據庫。它可以直接將擁有管理員權限的用戶添加到數據庫中,最終獲得系統管理員權限。黑客可以利用管理員的權限隨意獲取網站上的文件或者在網頁上掛木馬和各種惡意程序,給網站和訪問網站的網民帶來極大的危害。
有壹個聰明的方法來抵禦SQL註入
第壹步:很多新手從網上下載SQL通用反註入系統的程序,用在需要保護註入的頁面頭部,防止別人進行手動註入測試。但是,如果妳使用SQL註入分析儀,妳可以很容易地跳過反註射系統,並自動分析其註射點。然後只需要幾分鐘,妳的管理員賬號和密碼就會被分析出來。
第二步:對於註射分析儀的預防,筆者通過實驗找到了壹種簡單有效的預防方法。首先,我們需要知道SQL註入分析儀是如何工作的。在運行過程中發現,該軟件並不是針對“admin”管理員賬戶,而是針對權限(如flag=1)。這樣,無論妳的管理員賬號怎麽改,都逃不過檢測。
第三步:既然逃不過檢測,我們就做兩個賬號,壹個是普通管理員賬號,壹個是防止註射的賬號。為什麽這麽說?筆者認為,如果找壹個最有權威的賬號來制造假象,吸引軟件檢測,而這個賬號裏的內容超過壹千個漢字,那麽在分析這個賬號的時候,就會迫使軟件進入滿負荷狀態,甚至崩潰。讓我們修改數據庫。
1.修改表結構。修改管理員賬號字段的數據類型,將文本類型改為最大字段255(其實也夠了。如果妳想讓它變大,妳可以選擇備忘錄類型),也用同樣的方法設置密碼字段。
2.修改表格。設置管理員權限的賬號放在ID1,輸入大量漢字(最好100字以上)。
3.將真正的管理員密碼放在ID2之後的任意位置(比如ID549)。
通過以上三個步驟,我們完成了對數據庫的修改。
復習到此結束了嗎?其實不是的。妳要明白,妳做的ID1賬號,其實是有真實權限的賬號。現在電腦處理這麽快,遇到壹個必須計算的軟件就不安全了。我想這個時候大部分人都想通了壹個辦法,可以,只要在管理員登錄的頁面文件裏寫字符限制就行了!即使對方使用這個千字的賬號密碼,也會被屏蔽,真實密碼可以不受限制。