search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

白帽黑客帶你認識web信息安全

0x1 前言

隨著越來越多的服務和數據連上網路,Web信息安全已經是Web開發中一個重要的環節,然而許多開發者往往希望專註在應用程序的研發,而忽略了信息安全的重要性。不過若是沒有嚴謹地考慮信息安全的問題,等到事情發生后反而會造成更嚴重的財務和名譽上的損失。本文希望整理一些 Web 常見信息安全(Security)的議題和學習資源與讀者一起教學互動,下次架構網路服務時可以更留心 Web 的信息安全的關鍵點,甚至努力成為一個好的白帽黑客(White Hat Hacker)。

0x2 常見 Web 信息安全(Security)議題

一般而言 Web 信息安全(Security)需要符合三點安全要素:

  • 保密性:透過加密等方法確保數據的保密性
  • 完整性:要求用戶取得的數據是完整不可被竄改的
  • 可用性:保證網站服務的持續可訪問性

以下列出常見影響 Web 信息安全(Security)的攻擊手法:

1.SQL Injection

使用惡意的 SQL 語法去影響資料庫內容:

使用者登錄:

簡易防範方式:不信任用戶輸入的數據,確保用戶輸入都要 escape 掉,目前許多成熟 Web 框架都有支持 ORM 服務,大部分都基本防範了 SQL Injection

2.XSSCross-Site Scripting

XSS 亦即將惡意代碼注入到網頁,讓看到網頁的使用者會受影響,常見的受災用戶包括論壇、討論區等網路服務。事實上 XSS 概念很簡單,透過窗體輸入建立一些惡意網址、惡意圖片網址或是 JavsScript 程序代碼在 HTML 中注入,當使用者觀看頁面時即會觸發。

簡易防範方式:不信任用戶輸入的數據,將所有輸入內容編碼並過濾。

3.CSRF

CSRF 跨站請求偽造 又被稱為 one-click attack 或者 session riding,通常縮寫為 CSRF 或者 XSRF, 是一種挾制用戶在當前已登入的 Web 應用程序上執行非本意的操作的攻擊方法。舉百度百科上的例子:假如一家銀行用以執行轉賬操作的URL地址如下:

那麼,一個惡意攻擊者可以在另一個網站上放置如下代碼:

若是用戶的登錄信息尚未過期的話就會損失 10000 元的金額。

簡易防範方式:

  • 檢查 Referer 欄位 這是比較基本的驗證方式,通常 HTTP 標頭中有一個 Referer 欄位,其應該和 Request 位置在同一個網域下,因此可以透過驗證是否是在同一個網域來驗證是否為惡意的請求,但會有被更改偽裝的可能。
  • 添加驗證 token 一般現在許多的 Web Framework 都有提供在窗體加入由 Server 生成的隨機驗證 CSRF 的碼,可以協助防止 CSRF 攻擊。

4.DoS

Dos 阻斷式攻擊(Denial of Service Attack又稱為洪水攻擊,是一種網路攻擊手法,其目的在於使目標計算機的網路或系統資源耗盡,使服務暫時中斷或停止,導致真正的使用者無法使用服務。

根據百科:DoS 攻擊可以具體分成兩種形式:帶寬消耗型 以及 資源消耗型,它們都是透過大量合法或偽造的請求佔用大量網路以及器材資源,以達到癱瘓網路以及系統的目的。 帶寬消耗攻擊又分洪泛攻擊或放大攻擊:洪泛攻擊的特點是利用殭屍程序傳送大量流量至受損的受害者系統,目的在於堵塞其帶寬。放大攻擊和洪泛攻擊類似,是通過惡意放大流量限制受害者系統的帶寬;其特點是利用 殭屍程序通過偽造的源 IP(即攻擊目標)向某些存在漏洞的伺服器傳送請求,伺服器在處理請求後向偽造的源 IP 傳送應答,由於這些服務的特殊性導致應答包比請求包更長,因此使用少量的帶寬就能使伺服器傳送大量的 Response 到目標主機上。 資源消耗型又分為協議分析攻擊(SYN floodSYN 洪水)、LAND attackCC 攻擊、殭屍網路攻擊、Application level floods(應用程序級洪水攻擊)等。

簡易防範方式: 1.防火牆 設定規則阻擋簡單攻擊 2.交換機 大多交換機有限制訪問控制功能 3.路由器 大多路由器有限制訪問控制功能 4.黑洞啟動 將請求轉到空介面或是不存在的位置

i 檔案上傳漏洞

許多網路應用程序可以讓用戶上傳檔案到伺服器端,由於我們不知道使用者會上傳什麼類型的檔案,若不留意就會造成很大的問題。

簡單防範方式:

1.阻止非法文件上傳

  • 配置文件名白名單
  • 文件標頭判斷

2.阻止非法文件執行

  • 存儲目錄與 Web 應用分離
  • 存儲目錄無執行許可權
  • 文件重命名
  • 圖片壓縮

ii.加密安全

有許多的網路服務有提供會員註冊的服務,當使用者使用註冊時注意不要將密碼明碼存入資料庫。若是你使用的服務會在忘記密碼時寄明碼密碼給你很有可能該服務就是使用明碼加密,此時就很容易會榮登我的密碼沒加密的網站。不過儘管將密碼加密也未必安全,像是網路上就存在一些 破解網站彩虹表 可以破解加密的密碼。所以通常我們會針對不同使用者使用隨機產生的 salt 字元串來加鹽后加密的方式來提高密碼的強健性。

0x3 簡易信息安全入侵流程

  • 偵查(Reconnaissance) 攻擊者準備攻擊之前進行的調查,使用 Google 或是社交工程找尋目標的相關信息,以利之後的攻擊
  • 掃描(Scanning) 掃描目標主機的弱點,取得主機操作系統、服務和運作狀況等相關信息
  • 取得許可權(Gaining Access) 利用系統弱點取得主機許可權
  • 維持許可權(Maintaining Access) 維持目前取得的許可權,以便日後再次存取而不需繁雜的步驟
  • 清除足跡(Clearing Tracks) 清除入侵的痕迹

0x4 總結

以上整理一些 Web 常見信息安全(Security)的議題和學習資源和讀者一起教學相長,成為一個好的白帽黑客(White Hat Hacker)。隨著網路科技的發展,信息安全的議題只會越來越重要,我將繼續再接再厲學習更多的信息安全知識、為信息安全事業做一份貢獻。

作者|李泉 梆梆安全研究院高級安全研究員

主要研究領域|互聯網黑產、智能家居安全、終端安全等

關注我們公眾號:ExploitLee 獲取更多資訊

本文由「信息安全專家李泉」發布,2017年7月10日



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦