系統安全性 二 Web攻擊與防範

2022-08-30 16:06:20 字數 1122 閱讀 3391

跨站指令碼攻擊(cross site scripting),因為簡寫css,與層疊樣式表(cascading style sheets)有歧義,所以取名xss

原理:在網頁中嵌入惡意指令碼程式,在客戶端瀏覽器執行(如使用者輸入資料轉換成**執行)

防範:輸入資料html轉義處理(主流框架預設支援)

原理:sql偽裝成http請求引數

例如乙個登入操作,輸入帳號密碼

假設後台的sql是這樣拼裝的:select * from user where username = '輸入的帳號' and password='輸入的密碼'

那麼,我從客戶端輸入帳號:admin 輸入密碼:' or '1'='1

傳到後台後,拼裝結果變成:select * from user where username = 'admin' and password='' or '1'='1'

結果是能查出資料,後台就以為帳號和密碼正確

防範:使用預編譯語句(preparedstatement)、使用orm框架、避免密碼明文存放、異常處理(避免異常直接給到前台)

跨站請求偽造

原理:使用者在瀏覽器登入了站點a,生成了a的cookie;然後訪問惡意站點b,b要求訪問a,就可以帶著a的cookie去訪問a站點了,從而使b站點沒有認證和授權的情況下獲取到了a站點的資料

防範:cookie設定成httponly;新增自定義token;使用referer(知道請求的源頭)

主要不是由開發人員防範

原理:上傳可執行檔案和指令碼;不對上傳檔案進行校驗;獲取伺服器許可權

防範:根據檔案magicnumber判斷檔案型別(jpeg:ffd8ff);檔案長度限制;使用第三方框架

分布式拒絕服務攻擊(distributed denial of service)

dos:使用合理的客戶端請求占用過多的伺服器資源,從而使合法使用者無法使用服務

ddos:數量龐大的計算器聯合攻擊,這些計算器是分布式的

方式:syn flood 偽造syn報文;dns query flood;http flood

dns網域名稱挾持、cdn回源共計、伺服器許可權提公升、緩衝區溢位

系統安全性設計

系統安全性設計可以劃分為如下幾個層次 程式設計安全性 程式部署及作業系統安全性 資料庫安全性 網路安全性 物理安全性 就程設計的安全性,針對現在大多系統的分布式結構,因為同時要面向不同地理位置,不同網路位址,不同級別,不同許可權的使用者提供服務,稍不留神就可能產生潛在的安全隱患,如下是最常見的由設計...

如何提高Linux系統安全性

1 取消不必要的服務 早期的unix版本中,每乙個不同的網路服務都有乙個服務程式在後台執行,後來的版本用統一的 etc inetd伺服器程式擔此重任。inetd是internetdaemon的縮寫,它同時監視多個網路埠,一旦接收到外界傳來的連線資訊,就執行相應的tcp或udp網路服務。由於受inet...

如何保障系統安全性

怎麼保證系統的安全性 1.md5加密使用者密碼 使用者密碼採用md5加密 2.cookies加密 儲存cookies時,對儲存於cookies中的資料採用了以md5加密為基礎,加入隨機加密因子的專用型改進加密演算法。cookies中儲存的資料不可能被截獲 3.sql注入防護 可設定四道安全防護 a ...