安全測試

十大滲透測試演練系統

DVWA (Dam Vulnerable Web Application)DVWA是用PHP+Mysql編寫的一套用於常規WEB漏洞教學和檢測的WEB脆弱性測試程序。包含了SQL注入、XSS、盲注等常見的一些安全漏洞。連接地址:http://www.dvwa.co.uk php

 

mutillidaemutillidae是一個免費,開源的Web應用程序,提供專門被容許的安全測試和入侵的Web應用程序。它是由Adrian 「Irongeek」 Crenshaw和Jeremy 「webpwnized」 Druin.開發的一款自由和開放源碼的Web應用程序。其中包含了豐富的滲透測試項目,如SQL注入、跨站腳本、clickjacking、本地文件包含、遠程代碼執行等.連接地址:http://sourceforge.net/projects/mutillidae html

 

SQLolSQLol是一個可配置得SQL注入測試平臺,它包含了一系列的挑戰任務,讓你在挑戰中測試和學習SQL注入語句。此程序在Austin黑客會議上由Spider Labs發佈。連接地址:https://github.com/SpiderLabs/SQLoljava

 

hackxorhackxor是由albino開發的一個online黑客遊戲,亦能夠下載安裝完整版進行部署,包括常見的WEB漏洞演練。包含常見的漏洞XSS、CSRF、SQL注入、RCE等。 連接地址:http://sourceforge.net/projects/hackxor git

 

BodgeItBodgeIt是一個Java編寫的脆弱性WEB程序。他包含了XSS、SQL注入、調試代碼、CSRF、不安全的對象應用以及程序邏輯上面的一些問題。 連接地址:http://code.google.com/p/bodgeitgithub

 

Exploit KB / exploit.co.il該程序包含了各類存在漏洞的WEB應用,能夠測試各類SQL注入漏洞。此應用程序還包含在BT5裏面。 web

連接地址:http://exploit.co.il/projects/vuln-web-appsql

 

WackoPickoWackoPicko是由Adam Doupé.發佈的一個脆弱的Web應用程序,用於測試Web應用程序漏洞掃描工具。它包含了命令行注射、sessionid問題、文件包含、參數篡改、sql注入、xss、flash form反射性xss、弱口令掃描等。 連接地址:https://github.com/adamdoupe/WackoPicko chrome

 

WebGoatWebGoat是由著名的OWASP負責維護的一個漏洞百出的J2EE Web應用程序,這些漏洞並不是程序中的bug,而是故意設計用來說授Web應用程序安全課程的。這個應用程序提供了一個逼真的教學環境,爲用戶完成課程提供了有關的線索。 連接地址:http://code.google.com/p/webgoat數據庫

 

OWASP HackademicOWASP Hackademic 是由OWASP開發的一個項目,你能夠用它來測試各類攻擊手法,目前包含了10個有問題的WEB應用程序。連接地址:https://code.google.com/p/owasp-hackademic-challenges瀏覽器

 

XSSeducationXSSeducation是由AJ00200開發的一套專門測試跨站的程序。裏面包含了各類場景的測試。 

連接地址: http://wiki.aj00200.org/wiki/XSSeducation

 

 

搭建安全測試環境(DVWA)

DVWA 全名叫Damn Vulnerable Web Application,是一個基於PHP/MYSQL的web應用。專門就是爲了幫助安全測試人員去學習與測試工具用的。就是搞了一個應用,有各類各樣的漏洞,專門讓你用來聯繫安全測試的。簡直太適合初學者了有沒有。

下載

首先須要搭建PHP/MYSQL的環境,用xampp就行了,我是超連接

而後下載DVWA的應用包,點我

由於這個應用充滿了各類漏洞,不要在本機上直接安裝,不然你的電腦可能被黑。用虛擬機。

安裝

  1. 在虛擬機裏,解壓xampp並安裝,很是簡單,裝好直接就打開了主面板。
  2. 解壓dvwa,更名爲dvwa並放在:「[xampp安裝目錄]\htdocs\」目錄下
  3. 修改「[xampp目錄]\htdocs\dvwa\config\config.inc.php」裏面鏈接MySQL數據庫的密碼、端口(xampp默認MySQL用戶名密碼是root/root,默認端口是3306) 
    修改dvwa的MySQL配置
  4. 啓動xampp的Apache和MySQL服務
  5. 獲取虛擬機IP,並經過「http://[虛擬機IP]:80/dvwa」進入dvwa的安裝界面
  6. 點擊【Create / Reset Database】建立dvwa數據庫。建立成功後會自動跳轉到登陸頁面。 
    建立dvwa數據庫
  7. 默認登陸帳號密碼見上圖,是【admin/password】登陸。
  8. 登陸後可見到界面以下圖所示,左側列表列出了dvwa所支持的漏洞種類,共10種,【DVWA Security】中能夠設置dvwa的漏洞級別,有【Low、Medium、High、Impossible】四個級別。 
    漏洞類型和級別
  9. 到這裏dvwa就已經裝好了,能夠用它來練習了。

漏洞類型

DVWA一共支持10種漏洞類型,包括:

  • Brute Force(暴力破解)
  • Command Injection(命令行注入)
  • CSRF(跨站請求僞造)
  • File Inclusion(文件包含)
  • File Upload(文件上傳)
  • Insecure CAPTCHA(不安全的驗證碼)
  • SQL Injection(SQL注入)
  • SQL Injection(Blind)(SQL盲注)
  • XSS(Reflected)(反射型跨站腳本)
  • XSS(Stored)(存儲型跨站腳本)

漏洞級別

DVWA能夠設置漏洞的級別,一共有四種:

  • Low (這個級別的漏洞沒有作任何安全方面的措施)
  • Medium (這個級別作了一點簡單的安全防禦,可是不夠嚴格)
  • High (這個級別比Medium要高,作了不錯的安全防禦,但也仍是有漏洞可鑽)
  • Impossible (這個級別的安全措施就嚴格多了,基本上你是會被堵死了,這個級別通常能夠給開發人員用來對比本身的代碼來學習,看看人是怎麼防禦這種漏洞的)

 

 

 

 

Burp Suite

一 Burp 是什麼

學習一款工具的第一步就是搞清楚它是什麼,是作什麼的?

Burp 是一款安全領域很是重要的工具(或者說是平臺),它用於攻擊Web應用程序。

Burp裏面包含一些工具,這些工具都基於Burp的一個能處理並顯示HTTP消息的框架。

Web應用程序 咱們很常見,全部網頁所在的服務端均可以說是一個Web應用程序。簡要說來它的架構都是瀏覽器-服務器端形式,瀏覽器向服務器發送HTTP請求,服務器處理後返回HTTP信息給瀏覽器。

瀏覽器服務器

而Burp就是在中間插了一腳,使其變爲了下圖這樣:

瀏覽器Burp服務器

全部的請求與響應都須要經過Burp,這就使咱們有機會修改HTTP請求與響應,實現對Web應用的攻擊。

二 Burp 的部署

Burp在網上有不少下載地址,分爲免費版(下載連接)與專業版,免費版有不少限制,部分功能不可用;專業版在網上也有破解版,你們可自行百度下載。

Burp的部署很是簡單,只須要有JAVA環境就能夠了。Burp就是一個jar包,配置好JAVA環境後,在cmd裏執行

java -jar /your_burp_path/BurpSuite.jar
  • 1

就能夠啓動了。注:your_burp_path是你的jar包所在路徑。

Burp默認分配64M內存,在咱們進行滲透測試的時候可能不夠用,能夠爲其分配更大的內存,以下:

java -jar -Xmx2048M /your_burp_path/BurpSuite.jar
  • 1

建議你建一個bat文件,內容爲以上命令,這樣每次直接雙擊bat就能夠執行了。

三 Burp 的結構

我將Burp分爲兩部分,一部分是基礎架構,它們爲其餘高級工具提供基本的功能,包括Target、Proxy以及Options;第二部分是高級工具,包括Spider、Scanner、Intruder、Repeater等更復雜的功能。如圖:

Burp結構

其中最基本的一項功能模塊便是Proxy 代理模塊,正是這個模塊讓Burp插入到瀏覽器與服務器之間,使其成爲相互溝通的傳聲筒,更爲咱們以後的各類掃描、攻擊提供了基礎。

 

 

Burp Suite Proxy與瀏覽器設置

一 Burp Proxy Listeners

Burp Proxy就是以攔截代理的方式,攔截全部經過代理的流量,經過攔截,咱們能夠對客戶端請求、服務器返回信息進行各類處理。

當Burp啓動後,打開「Proxy - Options」標籤,能夠看到監聽器的設置。默認分配的代理地址和端口是127.0.0.1:8080,而且是啓動了的,以下圖:

Burp Options

二 IE瀏覽器設置

經過以下步驟完成IE瀏覽器設置。

  1. 啓動IE瀏覽器
  2. 選擇「設置 - Internet選項」 
    Internet選項
  3. 打開「鏈接 - 局域網設置」
  4. 勾選代理服務器並在地址中輸入127.0.0.1,端口填寫8080,點擊「肯定」,完成設置 
    IE代理服務器設置
  5. IE設置完成,訪問http://burp,能夠看到Burp的歡迎頁面。

三 Firefox設置

  1. 打開「工具 - 選項」 
    firefox選項
  2. 在「高級 - 網絡 - 鏈接 - 設置」中勾選「手動配置代理」並填寫HTTP代理地址127.0.0.1,端口8080,「肯定」保存修改。 
    firefox配置代理
  3. 配置完成,可訪問http://burp。固然,你也能夠添加管理代理服務器的擴展組件。

四 Chrome設置

  1. 打開Chrome「設置」 
    chrome設置
  2. 在「設置」最下方,點擊「顯示高級設置」
  3. 在「網絡」標題下,點擊「更改代理服務器設置」按鈕 
    chrome更改代理服務器設置
  4. 彈出的「Internet屬性」框與IE相同,見IE設置的第三、4步

Chrome用的IE的代理設置,那麼能夠預見的是隻要改了Internet屬性中的代理設置,那麼IE瀏覽器與Chrome的請求都會經過這個代理來走;而Firefox不受影響,一樣修改了Firefox的代理,那麼IE和Chrome都是不會受影響的。

 

 

Burp Suite Intruder的4種攻擊類型

一 Sniper(狙擊手模式)

狙擊手模式使用一組payload集合,它一次只使用一個payload位置,假設你標記了兩個位置「A」和「B」,payload值爲「1」和「2」,那麼它攻擊會造成如下組合(除原始數據外):

attack NO. location A location B
1 1 no replace
2 2 no replace
3 no replace 1
4 no replace 2

二 Battering ram(攻城錘模式)

攻城錘模式與狙擊手模式相似的地方是,一樣只使用一個payload集合,不一樣的地方在於每次攻擊都是替換全部payload標記位置,而狙擊手模式每次只能替換一個payload標記位置。

attack NO. location A location B
1 1 1
2 2 2

三 Pitchfork(草叉模式)

草叉模式容許使用多組payload組合,在每一個標記位置上遍歷全部payload組合,假設有兩個位置「A」和「B」,payload組合1的值爲「1」和「2」,payload組合2的值爲「3」和「4」,則攻擊模式以下:

attack NO. location A location B
1 1 3
2 2 4

四 Cluster bomb(集束炸彈模式)

集束炸彈模式跟草叉模式不一樣的地方在於,集束炸彈模式會對payload組進行笛卡爾積,仍是上面的例子,若是用集束炸彈模式進行攻擊,則除baseline請求外,會有四次請求:

 

attack NO. location A location B
1 1 3
2 1 4
3 2 3
4 2 4

 

用Burp Suite進行暴力破解

    1. 啓動dvwa,若是不知道dvwa是啥的,請看一塊兒學安全測試——本身搭建安全測試環境(DVWA)
    2. 啓動Burp Suite,設置Burp的Proxy,同時設置瀏覽器代理,若是不知道怎麼設置,請看一塊兒學安全測試——Burp Suite Proxy與瀏覽器設置
    3. 設置好了代理,打開Burp-Proxy-Intercept,設置狀態爲【Intercept is on】 
      Intercept is on
    4. 在dvwa中,設置Security級別爲【Low】 
      security low
    5. 打開【Brute Force】,輸入Username/Password,點擊【Login】
    6. 查看Intercept,將攔截到的請求,右鍵【Send to Intruder】 
      send to intruder
    7. 在Intruder-Position中設置,將自動設置的position【Clear】掉,而後在請求中username和password的地方點擊【Add】添加position
    8. 設置攻擊類型爲【Cluster bomb】,由於這是要同時對username和password進行爆破,選擇字典的笛卡爾積進行最大程度的爆破,關於攻擊類型,請看一塊兒學安全測試——Burp Suite Intruder的4種攻擊類型。 
      intruder position
    9. 在Intruder-Payloads中設置攻擊載荷,分別選擇payload set 1/2,並添加username和password的載荷。 
      add payloads
    10. 點擊menu中的【Intruder-Start attack】開始攻擊。
    11. 在結果列表中,經過Length排序,選出長度與其餘不一樣的一個,查看Response,能夠看到「Welcome to the password protected area admin」的字段,證實這對載荷是正確的,爆破成功。 
      intruder success
    12. 在網頁經過剛剛爆破獲得的username/password登陸,登陸成功。 
      login success
相關文章
相關標籤/搜索