20169215 2016-2017-2 《網絡攻防實踐》/《網絡攻擊與防範》第五週學習總結

20169215 2016-2017-2 《網絡攻防實踐》/《網絡攻擊與防範》第五週學習總結

教材學習內容總結

Web應用體系結構

Web應用程序一般以瀏覽器支持的語言(JavaScript等腳本語言及HTML等渲染標記語言)所編寫。Web應用程序與瀏覽器的完美配合造就了B/S計算結構。html

Web體系結構中,瀏覽器做爲客戶端,和服務器端經過因特網或內聯網上的HTTP/HTTPS應用層協議的請求與應答進行通訊。其中服務器端由Web服務器軟件、Web應用程序及後端數據庫構成,並經過表示層、業務邏輯層和數據層三層架構進行組織構建。java

最流行的瀏覽器客戶端腳本語言JavaScript的引入使網頁中能夠爲用戶接口提供動態元素與客戶端本地數據處理能力;Flash的引入提高了瀏覽器的動態展示效果;Ajax的誕生推進了瀏覽器端的可交互性。mysql

Web服務器軟件被描述爲HTTP守護程序,負責接收客戶端對資源的請求、響應的返回和一些基本的解析處理。web

Web應用的核心是處於服務器端的業務邏輯,即Web應用程序,多采用表示層、業務邏輯層和數據層的三層體系結構。sql

Web應用體系結構存在的安全威脅有:shell

  • 針對瀏覽器和終端用戶的Web瀏覽安全威脅;
  • 針對傳輸網絡的網絡協議安全威脅;
  • 系統層安全威脅;
  • Web服務器軟件安全威脅;
  • Web應用程序安全威脅;
  • Web數據安全威脅。

針對Web應用程序的攻擊主要集中在身份驗證、會話管理、數據庫操做、輸入數據合法/合理性檢查。數據庫

Web服務器平臺中的安全漏洞主要有:windows

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

Web應用程序安全威脅從攻擊技術角度能夠分爲6類:後端

  • 針對認證機制的攻擊;
  • 受權機制的攻擊;
  • 客戶端攻擊;
  • 命令執行攻擊;
  • 信息暴露;
  • 邏輯攻擊。

SQL注入

代碼注入利用Web應用程序的輸入驗證不完善漏洞,使得Web應用程序執行由攻擊者所注入的惡意指令和代碼,形成敏感信息泄露、權限提高或對系統的未受權訪問等危害後果。瀏覽器

SQL注入漏洞是因爲用戶輸入沒有被正確的過濾以消除SQL語言中的字符串轉義字符或沒有進行嚴格的類型判斷,從而使用戶能夠輸入並執行一些非預期的SQL指令代碼。

SQL注入攻擊步驟:

  1. 發現SQL注入點;
  2. 判斷後臺數據庫類型;
  3. 後臺數據庫中管理員用戶口令字猜解;
  4. 上傳ASP後門,獲得默認帳戶權限;
  5. 本地權限提高;
  6. 利用數據庫擴展存儲過程執行shell命令。

Web瀏覽的安全問題與威脅

Web瀏覽器也遭遇着軟件安全困境三要素的問題,即複雜性、可擴展性和連通性。

網頁木馬

網頁木馬存在的技術基礎是Web瀏覽端安全漏洞,其攻擊是被動式的,本質特性是利用了現代Web瀏覽器軟件中所支持的客戶端腳本執行能力,針對Web瀏覽端軟件安全漏洞實施客戶端滲透攻擊,從而取得在客戶端主機的遠程代碼執行權限來植入惡意程序。

網頁木馬的本質核心是瀏覽器滲透攻擊,其特性是:

  • 多樣化的客戶端滲透攻擊位置和技術類型;
  • 分佈式、複雜的微觀連接結構;
  • 靈活多變的混淆與對抗分析能力。

網頁掛馬的機制主要有四種:

  • 內嵌HTML標籤;
  • 而已Script腳本;
  • 內嵌對象連接;
  • ARP欺騙掛馬。

網頁木馬分析與檢測技術方法:

  • 基於特徵碼匹配的傳統檢測方法;
  • 基於統計與機器學習的靜態分析方法;
  • 基於動態行爲結果斷定的監測分析方法;
  • 基於模擬瀏覽器環境的動態分析檢測方法。

教材學習中的問題和解決過程

視頻學習中的問題和解決過程

數據庫評估

BBQSql

BBQSql是一個Python編寫的盲注工具,是一個半自動工具,容許客戶自定義參數。

DBPwAudit

是一個數據庫用戶名密碼枚舉工具。

破解SQLSever數據庫:

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

破解MySql數據庫

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

HexorBase

圖形化的密碼破解與鏈接工具,開源。

Jsql Injection

jSQL是一款輕量級安全測試工具,由java寫的開源工具,能夠檢測SQL注入漏洞。

Oracle Scanner

是一個用Java開發的Oracle評估工具,它是基於插件的結構,當前有兩個插件能夠作:

  • Sid列舉
  • 口令測試
  • 列舉Oracle版本
  • 列舉帳號角色
  • 列舉帳號特權
  • 列舉帳號哈希
  • 列舉審計信息
  • 列舉口令策略
  • 列舉數據庫連接

SIDGusser

一樣是針對Oracle的SID進行暴力枚舉的工具。SID爲Oracle實例名,Oracle鏈接字符串經過實例名+用戶+密碼鏈接。

SQLdict

是一個用戶名密碼枚舉工具,經過Wine運行。

tnscmd10g

容許用戶向Oracle數據庫中注入命令。

Sqlsus

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

生成配置文件:

sqlsus -g test.conf


編輯配置文件:修改our $url_start = "";寫入地址。

啓動並測試:

sqlsus test.conf

獲取數據庫數據

查看所有數據庫名字:

sqlsus> get databases

設定數據庫:

sqlsus> set database
database = "sql"
sqlsus> set database mysql
database = "mysql"

獲取表:

sqlsus> get tables

Sqlninja

sqlmap是sql注入方面的神器,但sqlninja也有本身的特色。sqlninja是一款perl編寫的針對Microsoft SQL Server的sql注入工具。,其側重於得到一個shell。可找到遠程SQL服務器的標誌和特徵(版本、用戶執行的查詢、用戶特權、xp_cmdshell的可用性、身份驗證模式等)。用純粹的ASCII GET/POST請求上載netcat.exe程序,不須要FTP鏈接。

在sqlninja生成的SQL代碼上,執行的是自動化的URL編碼,是的用戶能夠更精細的控制漏洞利用的字符串。若是獲得權限爲sa,能夠結合msf進一步對目標主機進行滲透。

sqlninja參數不多:

-m                  #指定攻擊模式,有如下幾個
    t/test          #測試鏈接是不是注入點
    f/fingerprint   #指紋識別,判斷用戶,數據庫,xp_cmdshell是否能用
    b/bruteforce    #暴力破解sa密碼,能夠-w指定字典
    e/escalation    #提權用,必須用-p制定sa的password,成功就會把當前數據庫用戶加入到sa組
    x/resurrectxp   #嘗試恢復xp_cmdshell
    u/upload        #使用get和post上傳二進制文件,-p能夠指定sa
    s/dirshell      #得到目標主機的shell
    k/backscan      #查看開放的目標端口
    r/revshell      #反彈回一個shell,和dirshell相反
    d/dnstunnel     #指定使用dns做爲傳輸通道,可用-p指定sa的password
    i/icmpshell     #dirshell和revshell失敗,可用這個模式吧shell藏在icmp裏
    c/sqlcmd        #能夠用來執行簡單的cmd命令,沒有回顯
    m/metasploit    #使用meterpreter做爲shell
-f                  #指定配置文件,注入網址卸載配置文件裏,默認是sqlninja.conf
    0 - 檢測當前數據庫版本
    1 - 當前數據庫用戶
    2 - 當前數據庫用戶權限
    3 - 檢查xp_cmdshell是否可用
    4 - 是否windows本地系統權限
    a - 以上全部選項
    h - 顯示當前幫助菜單
    q - 退出
-p                  #sa帳戶密碼

Sqlmap

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

常見命令:

Web應用代理

burp Suite

burp Suite是用於攻擊web應用程序的集成平臺。Burp S uite帶有一個代理,經過默認端口8080上運行,,使用這個代理,咱們能夠截獲並修改從客戶端到web應用程序的數據包。平臺中全部工具共享同一robust框架。各個功能之間能夠互相轉發數據包。

設置完成後,訪問百度:

點了forward以後網頁纔打開:

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

Spide爬行蜘蛛工具,能夠用來抓取目標網站,一線是網站的內容,基本架構,和其餘功能。

Scannery Web應用程序的安全漏洞進行自動發現工具。被設計用於滲透測試,適應執行手動和半自動化的web應用程序滲透測試。

Repeater可讓你手動從新發送單個HTTP請求。

Intruder是burp套件的又是,能夠自動實施各類定製攻擊,可以以最細化、最簡單的方式訪問它產生的請求與相應,容許組合利用我的只能與該工具的控制有點。

Sequencer 對話令牌,回話表示服或其餘出於安全緣由須要隨機產生的鍵值得可預測性分析。

Decoder 轉化成規範形式的編碼數據,或轉化成各類形式編碼和三列的原始數據,它可以智能識別多種編碼格式,使用自發式技術。

Comparer 是一個簡單的工具,執行比較數據之間的任何兩個項目。

OwaspZAP

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

Paros

Webscarab

Fuzz工具

模糊測試是漏洞分析很重要的一步。

Bed.pl

是一個純文本協議的Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出,格式串漏洞,整數溢出等。

視頻學習中的問題和解決過程

一、Sqlmap測試中靶機中找不到相應的目錄。

二、burp suite測試時候,搜索東西直接就跳轉了,沒有先把包攔下來。

第五週進度

  • kali視頻16-20
  • 課本最後兩章

參考資料

  • html學習
  • 《網絡攻防技術與實踐》教材
  • kali視頻
相關文章
相關標籤/搜索