2017-2018-2 20179202《網絡攻防技術》第五週做業

漏洞分析之數據庫評估(一)

BBQSQLphp

一種用Pyhthon寫的SQL盲注框架。當發動QL注入漏洞攻擊時,它將很是有用。BBQSQL是半自動工具,容許許多難以觸發的SQL注入變得用戶化。BBQSQL最重要的是它不關心數據或數據庫。mysql

DBPwAuditlinux

功能:經過掛載字典對目標數據庫進行密碼暴力猜解,目前支持的數據庫包括SQLServer、MySQL、Oracle、DB2web

破解SQLServer數據庫命令實例:sql

./dbpwaudit -s IP -d master(數據庫名稱) -D mssql(數據庫類型) -U username(字典) -P password(字典)shell

破解MySQL數據庫命令實例:數據庫

./dbpwaudit -s IP -d MySQL(數據庫名稱) -D mysql(數據庫類型) -U username(字典) -P password(字典)windows

HexorBase瀏覽器

圖形化的密碼破解與鏈接工具,支持MySQL、Oracle、PostgreSQL、SQLite和SQL Server五大主流數據庫。它容許安全人員指定用戶字典和密碼字典,而後實施字典攻擊。同時,它還提供對應的圖形界面客戶端,容許安全人員使用破解出的用戶名和密碼,對數據庫進行遠程管理。安全

jSQL

jSQL是一款Java開發的輕量級遠程服務器數據庫注入漏洞測試工具,且免費、開源、跨平臺 (Windows, Linux, Mac OS X, Solaris)。將存在注入漏洞的URL貼進去便可進行響應的漏洞利用。

MDBTools

包括MDB-Export,以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具

Oracle Scanner

OScanner 是基於Java開發的一個Oracle評估框架。它有一個基於插件的架構並附帶幾個插件,目前能夠實現:

  • Sid枚舉
  • 密碼測試(常見&字典)
  • 枚舉Oracle版本
  • 枚舉帳號權限
  • 枚舉帳號哈希
  • 枚舉審計信息
  • 枚舉密碼策略
  • 枚舉數據庫連接

SIDGuesser

針對Oracle的SID進行暴力枚舉的工具。
SID爲Oracle實例名,Oracle鏈接字符串,經過實例名+用戶+密碼鏈接。當用戶但願遠程鏈接Oracle數據庫時,則須要知道SID、用戶名、密碼及服務器的IP地址。

sqldict

SQLdict是一個Windows程序,是一款用戶名密碼枚舉工具,運行時會自動調用Kali Linux內置的Wine組件。滲透測試人員只要指定目標IP地址、帳戶名和密碼字典,就能夠實施密碼爆破。

漏洞分析之數據庫評估(二)

tnscmd10g

容許向Oracle數據庫注入數據。

Sqlsus

一個開放源代碼的MySQL注入和接管工具,sqlsus使用perl編寫,基於命令行界面。Sqlsus能夠獲取數據庫結構,注入本身的SQL語句,從服務器下載文件,爬行web站點可寫目錄,上傳和控制後門,克隆數據庫等。最好用的兩點就是注射獲取數據速度很是快,另一個最大的特色就是自動搜索可寫目錄。

使用時,首先使用sqlsus -g test.conf生成一個配置文件。在配置文件中,設置注入路徑以及注入的各項參數,如修改our $url_start = 「」,引號裏寫入輸入注入點。而後使用sqlsus test.conf命令加載該文件,實施滲透測試(get databases獲取數據庫,set database 設定數據庫,get tables獲取表)。

sqlninja

一款Perl編寫的一個專門針對microsoft SQL server的SQL注入工具,和市面上其餘的注入工具不一樣,sqlninja沒有將精力用在跑數據庫上,而是側重於得到一個shell。

Sqlmap

SQLMAP是一個開源的滲透測試工具,它主要用於自動化的偵測和實施SQL注入以及滲透數據庫服務器,SQLMAP配有強大的偵測引擎,適用於高級滲透測試用戶,不只能夠得到不一樣數據庫的指紋信息,還能夠從數據庫中提取數據,此外還可以處理潛在的文件系統以及經過帶外數據鏈接執行系統命令等。

接下里藉助注入點進行更進一步的利用。上述命令後加--dbs,會列出有權查看的數據庫。

上述命令後加--users枚舉全部用戶。加--users --pass枚舉全部用戶和密碼hash,在之後更進一步的攻擊中能夠對密碼hash進行破解。加--current-db查看當前數據庫爲dvwa。加--current-user查看當前用戶爲root。

sqlmap -u "http://192.168.199.139/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='PHPSESSID=f5b40ff6909924c340680b1ef9314d27;security=low' --tables -D dvwa命令嘗試枚舉DVWA數據表。參數選項以下:

-u : 指定目標URL
-D : 要枚舉的數據庫
–-tables: 枚舉數據庫中的數據表

獲得結果以下:

Database: dvwa
[2 tables]
+-----------+
| guestbook |
| users     |
+-----------+

sqlmap -u "http://192.168.199.139/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie='PHPSESSID=f5b40ff6909924c340680b1ef9314d27;security=low' --columns -T users -D dvwa命令獲取用戶表的列。參數選項以下:

-T : 要枚舉的數據庫表
–-columns : 枚舉數據庫表中的全部列

獲得結果以下:

Database: dvwa
Table: users
[6 columns]
+------------+-------------+
| Column     | Type        |
+------------+-------------+
| user       | varchar(15) |
| avatar     | varchar(70) |
| first_name | varchar(15) |
| last_name  | varchar(15) |
| password   | varchar(32) |
| user_id    | int(6)      |
+------------+-------------+

漏洞分析之Web應用代理

經過應用代理工具分析數據包,或修改數據包重放、暴力攻擊等在WEB安全測試中常常用到。

Burp Suite

用於攻擊web應用程序集成平臺。Burp Suite 經過默認端口8080上運行,使用這個代理,能夠截獲並修改從客戶端到web應用程序的數據包。

Proxy代理模塊做爲BurpSuite的核心功能,攔截HTTP/S的代理服務器,做爲一個在瀏覽器和目標應用程序之間的中間人,容許你攔截,查看,修改在兩個方向上的原始數據流。首先創建代理監聽(Proxy–> Options功能下),能夠看到默認值127.0.0.1,端口8080(能夠點擊Edit進行修改,或者添加新的監聽端口)。而後打開瀏覽器,點擊Preferences->Privacy->Advanced->Network->Settings,設置HTTP代理和端口。

訪問要測試的應用(如訪問百度),在 Proxy –> Intercept 標籤頁,Intercept is on確保截獲功能開啓(若是不須要一個一個包地中斷,能夠off,可是全部流量仍然能夠在Http History看到),就能夠看到全部的請求。

點擊Forward發送修改後的請求,若是不想發送某些請求點擊Drop。對於抓到的包點擊右鍵或者Action按鈕進行修改和利用。

Http History 選項顯示全部請求產生的細節,顯示目標服務器和端口,Http方法,URL,以及請求中是否包含參數或被人修改,Http的相應狀態嗎,響應字節大小,響應的MIME類型,請求資源的文件類型,HTML頁面的標題,是否使用ssl,遠程IP地址,服務器設置的cookie,請求的時間。

OwaspZAP

攻擊代理,是一款查找網頁的應用程序漏洞綜合滲透測試工具。包含攔截代理,被動處理,暴力破解,端口掃描,以及蜘蛛搜索等功能。OwaspZAP爲會話類調試工具,調試功能對網站不會發起大量請求,對服務器影響較小。

OwaspZAP像Burp suite同樣使用代理的方式來截取網站。

點擊 Tools->Local proxy 設置相關選項。

在Firefox中設置代理。訪問後在ZAP中出現了Sites。

paros proxy

一個對Web應用程序的漏洞進行評估的代理程序,即一個基於Java的web代理程序,能夠評估Web應用程序的漏洞。它支持動態地編輯/查看 HTTP/HTTPS,從而改變cookies和表單字段等項目。它包括一個Web通訊記錄程序,Web圈套程序(spider),hash 計算器,還有一個能夠測試常見的Web應用程序攻擊(如SQL注入式攻擊和跨站腳本攻擊)的掃描器。該工具檢查漏洞形式包括:SQL注入、跨站點腳本攻擊、目錄遍歷等。

WebScarab

一款代理軟件,包括HTTP代理,網絡爬行、網絡蜘蛛,會話ID分析,自動腳本接口,模糊測試工具, WEB格式的編碼/解碼,WEB服務描述語言和SOAP解析器等功能模塊。WebScarab基於GNU協議,使用Java編寫,是WebGoat中所使用的工具之一。

Vega

Vega是一個開放源代碼的web應用程序安全測試平臺,Vega可以幫助你驗證SQL注入、跨站腳本(XSS)、敏感信息泄露和其它一些安全漏洞。 Vega使用Java編寫,有GUI,能夠在Linux、OS X和windows下運行。Vega相似於 Paros Proxy, Fiddler, Skipfish and ZAproxy。

漏洞分析之BurpSuite

Burp Suite是一個Web應用程序集成攻擊平臺,它包含了一系列burp工具,這些工具
之間有大雖接口能夠互相通訊,這樣設計的目的是爲了促進和提升整個攻擊的效率。平臺中
全部工具共享同一 robust 框架,以便統一處理HTTP請求,持久性,認證,上游代理,日誌
記錄,報帑和可擴展性。
Burp Suite 容許攻擊者結合手工和自動技術去枚舉、分析、攻擊Web應用程序。這些
不冋的burp工具經過協同工做,有效的分享信息,支持以某種工具中的信息爲基礎供另外一
種工具使用的方式發起攻擊。

  • Proxy提供一個直觀、友好的用戶界面,它的代理服務器包含很是詳細的攔截規則,井
    能準確分析HTTP消息的結構與內容

  • Spide爬行蜘蛛工具能夠用來抓取目標網站,以顯示網站的內容,基本結構和其餘功能

當瀏覽Web應用時,spider會從HTML響應內容中主動生成一份URL列表,而後嘗試鏈接URL。首先點擊Target–> Site Map標籤,而後右鍵域名,選擇「Add To Scope」:

  • Scanner Web應用程序的安全漏洞進行自動發現工具。它被設計用於滲透測試,並密
    切與現有的技術和方法,以適應執行手動和半自動化的Web應用程序滲透測試
  • Repeater 可手動從新發送單個HTTP請求
  • Intruder 是burp套件的優點,提供一組特別有用的功能。它能夠自動實施各類定製攻擊,包括資源枚舉、數據提収、模糊測試等常見漏洞等。在各類有效的掃描工具中,它能
    夠以最細化、最簡單的方式訪問它生產的請求與響應,容許組合利用我的智能與該工具的控
    制優勢。
  • Sequencer 對會話令牌,會話標識符或其餘出於安全緣由須要隨機產生的鍵值的可預測
    性進行分析。
  • Decoder 轉化成規範的形式編碼數據,或轉化成各類形式編碼和散列的原始數據。它能
    夠智能識別多種編碼格式,使用啓發式技術。
  • Comparer 執行比較數據之間的任何兩個項目(一個可視化的「差
    異」)。在攻擊一個Web應用程序的狀況下,這一要求一般會出現當你想快速識別兩個應用
    程序的響應之間的差別(例如,入侵者攻擊的過程當中收到的兩種反應之間之間,或登陸失敗
    的反應使用有效的和無效的用戶名)之間,或兩個應用程序詰求(例如,肯定不一樣的行爲引
    起不一樣的請求參數)

漏洞分析之Fuzz工具

Fuzz工具是一個模糊測試工具。模糊測試是一種介於徹底的手工滲透測試與徹底的自動化測試之間的安全性測試類型,是一種經過向目標系統提供非預期的輸入並監視異常結果來發現軟件漏洞的方法。測試的基本思想就是經過向程序中輸入大量的隨機數據,而後觀察輸入這些數據以後程序的狀況,記錄下使程序發生異常的數據,從而判斷程序是在那些地方發生了異常。 簡言之,就是發送一連串可能畸形的數據包,嘗試使程序報錯,從而進行判斷。

Bed.pl

Bed是一個純文本協議的Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出,格式串漏洞,整數溢出等。BED經過加載插件,向目標主機發送攻擊數據。若是發現目標沒法響應,說明目標可能存在溢出區漏洞。通過屢次測試驗證,就能夠判斷漏洞出現的位置。而後經過手工執行驗證,代碼審覈、反編譯等方式,就能夠找出漏洞具體觸發機制,從而加以利用。

-s 插件(針對不一樣的協議使用不一樣的插件)
-t 目標IP地址
-p 目標端口
-o timeout

ohrwurm

一個迷你的對RTP的fuzz工具,主要針對SIP通訊的fuzz

PowerFuzzer

Wfuzz
針對WEB應用的模糊測試工具,能夠進行web應用暴力猜解,也支持對網站目錄、登陸信息、應用資源文件等的暴力猜解,還能夠進行get及post參數的猜解,sql注入、xss漏洞的測試等。全部功能依賴於字典。

wfuzz基於一個很是簡單的概念:它用一個給定的payload來替換相應的FUZZ關鍵詞的值,咱們稱FUZZ這樣的關鍵詞爲佔位符。一個wfuzz中的payload就是一個輸入的源。wfuzz -e payloads命令能夠獲得全部可用的payload列表。

XSSer

XSSer專門針對XSS漏洞,主要是對一個頁面或點進行xss測試,判斷是否有XSS的漏洞。

依舊使用metasploitable2-linux自帶的DVWA爲例,點擊 XSS reflected進行設置,並複製cookie值。

複製網址,使用命令xsser -u "http://192.168.199.139/dvwa/vulnerabilities/xss_r/?name=" --cookie="PHPSESSID=5218b113a4e6973859317eae876db9d3;security=low" -v測試是否存在xss漏洞

XSSer參數較多,請使用--help查看。XSSer使用起來不是那麼簡單方便,但能夠做爲第三方調用,在腳本中藉助XSSer能夠完成一系列的測試,會讓代碼對網站的測試更高效。

課本內容

1. web應用程序安全攻防

1.1 web應用程序體系結構及其安全威脅

1.1.1 web應用體系結構

  • 三層架構包括表示層、業務邏輯層、數據層
  • web應用體系結構包括瀏覽器、web服務器、web應用程序、數據庫、傳輸協議http/https

1.1.2 web應用安全威脅

  • 針對瀏覽器和終端用戶的Web瀏覽安全威脅
  • 針對傳輸網絡的網絡協議安全威脅
  • 系統層安全威脅
  • Web服務器軟件安全威脅
  • Web應用程序安全威脅
  • Web數據安全威脅
1.2 web應用安全攻防技術概述

1.2.1 web應用的信息收集

  • 手工審查web應用程序結構與源代碼 ◦靜態和動態生成的頁面
  • 目錄結構,經典工具whisker
  • 輔助性文件
  • 輸入表單
  • 查詢參數字符串
  • 自動下載與鏡像web站點頁面
  • linux下工具:Lynx、wget
  • Windows上工具:Teleport Pro、Offline Explorer
  • 替代工具:迅雷、Flashget
  • 使用Google Hacking技術審查與探測Web應用程序
  • Web應用程序安全評估與漏洞探測

1.2.2 攻擊web服務器軟件

web服務器平臺中的安全漏洞主要分爲以下幾類:

  • 數據驅動的遠程代碼執行安全漏洞
  • 服務器功能擴展模塊漏洞
  • 樣本文件安全漏洞
  • 源代碼泄露
  • 資源解析攻擊

1.2.3 攻擊web應用程序

Web應用程序安全威脅從攻擊技術角度分爲以下6類:

  • 針對認證機制的攻擊
  • 受權機制的攻擊
  • 客戶端攻擊
  • 命令執行攻擊(包括緩衝區溢出、格式化字符串、LDAP注入、操做系統命令注入、SQL注入、SSL注入)
  • 信息暴露
  • 邏輯攻擊(包括功能濫用、拒絕服務攻擊、對抗自動程序不完善、處理驗證過程不完善等)

1.2.4 攻擊web數據內容

  • 安全敏感數據泄漏
  • 網站篡改
  • 不良信息內容上傳

1.2.5 web應用安全防範措施

Web站點網絡傳輸安全設防措施:

  • 儘可能使用HTTPS來保障Web站點傳輸時的保密性、完整性與身份真實性,至少對登錄過程進行加密保護
  • 經過加密的鏈接通道來管理Web站點
  • 對關鍵的Web服務器,設置靜態綁定MAC-IP映射

Web站點操做系統及服務安全設防措施:

  • 對Web站點的操做系統與服務器軟件進行及時的補丁更新
  • 對Web站點服務器的操做系統及各類開放服務進行遠程安全漏洞掃描,在攻擊者利用安全漏洞實施攻擊以前發現和修補這些安全漏洞
  • 採用提高系統與服務安全性的通常性設防措施

Web應用程序安全設防措施:

  • 提升安全認識,開發時兼顧安全性、訪問性能與便捷性
  • 使用具備良好安全聲譽及穩定技術支持力量的web應用軟件包
  • 只在必要時候自主或外包開發web應用程序
  • 使用web服務器軟件提供的日誌功能

Web站點數據安全設防措施:

  • 提升網站內容維護人員的數據安全意識
  • 對維護網站的數據安全實施平常監測和防禦
1.3 SQL注入

根據目標的不一樣分爲:

  • 惡意讀取、修改與操縱數據庫的SQL注入攻擊,是最多見也是較爲直觀的一種攻擊技術
  • 在Web服務器端安裝、執行Webshell等惡意腳本的PHP注入或ASP注入攻
  • 在Web服務器端惡意執行操做系統命令的Shell注入攻擊
  • 其餘多種多樣的攻擊如LDAP注入、郵件命令注入
1.4 xss跨站腳本攻擊

與代碼注入攻擊不一樣的是,其最終目的不是提供服務的Web應用程序,而是使用Web應用程序的用戶。

1.4.1 XSS攻擊技術原理

與代碼注入相似,XSS攻擊的根源一樣是Web應用程序對用戶輸入內容的安全驗證與過濾不夠完善。

1.4.2 XSS攻擊類型

兩種主要的XSS漏洞類型:

  • 持久性XSS漏洞(也稱做存儲型XSS漏洞,是危害最爲嚴重的XSS漏洞)
  • 非持久性XSS漏洞(也稱爲反射XSS漏洞)
  • 除了傳統的服務器端Web應用程序中存在的XSS漏洞及相應攻擊以外,安全業界又發現了一種在客戶端代碼中存在的XSS漏洞及攻擊技術,被稱爲基於DOM的XSS。

1.4.3 xss攻擊

在SEED實驗環境中的phpBB論壇程序中引入了XSS安全漏洞,存在於posting.php與viewtopic.php文件中,
針對這一漏洞,咱們能夠經過以下步驟來測試於利用該漏洞,實施用戶會話Cookie竊取、假冒、甚至XSS蠕蟲攻擊:

  • 測試XSS漏洞
  • 顯示用戶的會話Cookie
  • 竊取用戶的會話Cookie
  • 利用Cookie信息假冒其餘用戶發表與修改帖子
  • 編寫實現XSS蠕蟲。

1.4.4 XSS攻擊防範措施

對XSS跨站腳本的防範分爲服務器端和客戶端兩個方面。

  • 服務器端防範措施:①輸入驗證②輸出淨化③消除危險的輸入點。
  • 客戶端防範措施:提高瀏覽器的安全設置。

1.4.5 web瀏覽器安全攻防

  • 軟件安全困境三要素:複雜性、可擴展性、連通性。瀏覽器軟件面臨着嚴重的威脅。
  • 網頁木馬存在的技術基礎:Web瀏覽端安全漏洞。
  • 網頁木馬的本質核心——瀏覽器滲透攻擊。
  • 網頁掛馬機制,最主要的有以下四類策略:內嵌HTML標籤、惡意Script腳本、內嵌對象鏈接、ARP欺騙掛馬。
  • 網頁木馬的檢測與分析方法:基於特徵碼匹配的傳統檢測方法、基於統計與機器學習的靜態分析方法、基於動態行爲結果斷定的檢測分析方法、基於模擬瀏覽器環境的動態分析檢測方法、網頁木馬檢測分析技術綜合對比。

2.Web瀏覽器安全攻防

2.1 web瀏覽器安全威脅

Web瀏覽器軟件安全困境三要素:複雜性、可擴展性、連通性。

Web安全威脅位置

  • 傳輸網絡的網絡協議安全威脅
  • Web瀏覽端系統平臺的安全威脅
  • Web瀏覽器軟件及插件程序的滲透攻擊威脅
  • 互聯網用戶社會工程學攻擊威脅

2.2 Web瀏覽端滲透攻擊威脅——網頁木馬

本質核心:利用腳本語言實現對web瀏覽端軟件安全漏洞的滲透攻擊,從而向客戶端主機中植入惡意程序。

防範:提高操做系統與瀏覽端平臺軟件的安全性。

2.3 網絡釣魚(phishing)

網絡釣魚是社會工程學在互聯網中普遍實施的一種典型攻擊方式。

原理:經過大量發送聲稱來自於銀行或其餘知名機構的欺騙性垃圾郵件,意圖引誘收信人給出我的敏感信息。

廣泛技術流程:

  • 攻擊者掃描網段,尋找存有漏洞的服務器;
  • 服務器被攻陷,並被安裝一個rootkit或口令保護的後門工具;
  • 攻擊者從加密的後門工具得到對服務器的訪問權,並下載已經構建完畢的釣魚網站內容,進行一些網站搭建配置與測試工做,使得釣魚網站上線運行;
  • 攻擊者下載羣發電子郵件工具,並大規模散發垃圾郵件;
  • 網頁瀏覽的流量開始到達釣魚網站,受害者訪問並給出我的敏感信息,攻擊者經過後臺腳本收集這些信息。

防範:加強安全意識、提升警戒性。

相關文章
相關標籤/搜索