網站應用成為主流
最早的軟體是運作在大型機上,使用者們要想使用軟體,都需要登入到大型機。後來,PC革命,電腦走入千家萬戶,軟體開始主要運作在桌面上,相應的資料庫軟體則跑在伺服器端,這種模式被稱為C/S架構。
随着網際網路的影響力滲透到各行各業,資訊量開始劇烈增加,人們對消費資訊的需求也變得五花八門。為滿足日新月易的需求,軟體開發者們需要不斷的新增功能、不斷的更新軟體。若還是采取C/S架構,就需要在每個用戶端,逐個更新桌面軟體,顯然,這種做法,太過費事費力。
在這樣的背景下,B/S架構産生了,在這個架構下,用戶端隻需要利用浏覽器,應用程式的響應和資料都存儲在伺服器端。浏覽器隻需要請求伺服器,拿到Web頁面,并把Web頁面展示給使用者即可。這樣一來,修改和更新應用程式,就變得非常迅速了。
黑客躍躍欲試
Web應用迅猛發展,由于其承載的資料越來越有價值,也吸引了黑客的關注。攻擊Web應用,主要的手段有兩種,一種是SQL注入攻擊,另一種是XSS攻擊。
攻防的正常手段有哪些
黑客使用SQL攻擊,會在HTTP請求中注入惡意SQL指令,當伺服器用請求的參數構造SQL指令時,其中的惡意SQL被一起構造了進去,并在資料庫執行。
了解了資料庫結構,就可以展開SQL注入攻擊,黑客可以用以下這些手段來擷取資料庫的表結構資訊。
-- 開源手段。如果網站是用開源軟體搭的,那麼自然,網站的資料庫結構就是公開的,攻擊者可以加以利用。
-- 盲注手段。顧名思義,首先猜測表名等資料庫表的結構資訊,進行SQL注入。
-- 利用錯誤回顯。如果網站開啟了錯誤回顯,那麼伺服器内部的500錯誤就會顯示在浏覽器上。攻擊者先故意制造非法參數,讓伺服器的異常資訊輸出在浏覽器端,借此,猜測資料表的結構。
而XSS攻擊是跨站點的腳本攻擊。黑客通過篡改網頁,注入惡意的HTML腳本,在使用者浏覽網頁時,控制使用者浏覽器進行惡意操作的一種攻擊方式。
黑客用XSS攻擊,可以偷取使用者Cookie、密碼等重要資料,進而僞造交易、竊取情報,以盜竊使用者财産。
那麼如何防禦XSS攻擊呢,消毒是一個必備手段。對某些HTML危險字元進行轉義,進行過濾和消毒處理,就可以防止大部分的XSS攻擊。
防禦SQL攻擊,也有類似的消毒手段。對請求參數進行消毒,如通過正則比對,過濾請求資料中惡意注入的SQL,如“drop table”這些。
網站的安全是個越發重要的問題,通過提升黑客的攻擊門檻,讓他付出比獲得的收益更大的代價,可以讓黑客消停下來。