20189216 《網絡攻防技術》第五週做業

教材和視頻學習總結

1、教材內容學習總結

1. Web應用程序體系結構
Web應用程序是一種使用瀏覽器在互聯網或企業內部網上進行訪問操做的應用軟件形態。Web應用體系有瀏覽器做爲客戶端完成數據顯示和展現內容的渲染;由功能強大的服務器完成主要業務的計算和處理,二者之間經過因特網或內聯網上HTTP/HTTPS應用層協議的請求與應答進行通訊。服務器端由Web服務器軟件、Web應用程序與後端數據庫構成,並經過經典三層架構:表示層、業務邏輯層、數據層來進行組織與構建。php

  • 瀏覽器
    使用HTTP/HTTPS協議,HTML語言和web服務器進行交互,獲取web服務器上的信息和應用服務。
  • Web服務器
    web服務器軟件一般被描述爲HTTP守護程序,接收Web客戶端對資源的請求,在這些請求上執行一些基本的解析處理以肯定資源的存在,而後將它傳送給web應用程序來執行,待web應用程序執行完邏輯並返回響應時,web服務器在將這個響應返回給web客戶端,在瀏覽器上進行本地執行、渲染和展現。
  • web應用程序
    處於服務端的業務邏輯是web應用的核心。
  • 數據庫
    是web應用存儲數據的地方,數據層也做爲web應用程序多級結構中的最後一層。

2. Web應用安全威脅java

  • 瀏覽器安全困境三要素:複雜性、可擴展性、連通性。
  • 瀏覽器安全威脅位置有:網絡協議、瀏覽器端系統平臺、插件、社會工程學。
  • 拒絕服務攻擊
    拒絕服務攻擊就是想盡辦法讓你的服務器沒法正常提供服務,具體手段包括:消耗包括網絡帶寬、存儲空間、CPU 時間等資源;破壞或者更改配置信息;物理破壞或者改變網絡部件;利用服務程序中的處理錯誤使服務失效。
  • Web瀏覽器的滲透攻擊威脅 網頁木馬
    (1)網頁木馬存在的技術基礎:Web瀏覽端安全漏洞。
    (2)網頁木馬的本質核心——瀏覽器滲透攻擊。
    (3)網頁掛馬機制,最主要的有以下四類策略:內嵌HTML標籤、惡意Script腳本、內嵌對象鏈接、ARP欺騙掛馬。
    (4)網頁木馬的檢測與分析方法:基於特徵碼匹配的傳統檢測方法、基於統計與機器學習的靜態分析方法、基於動態行爲結果斷定的檢測分析方法、基於模擬瀏覽器環境的動態分析檢測方法、網頁木馬檢測分析技術綜合對比。
  • 網頁掛馬機制
    (1)內嵌HTML標籤
    (2)惡意Script腳本
    (3)內嵌對象連接
    (4)ARP欺騙掛馬
  • 系統層安全威脅
    (1)web站點的宿主操做系統存在的遠程滲透攻擊和本地滲透攻擊威脅。
    (2)web服務器軟件安全威脅
    (3)web服務器軟件如IIS,Apache做爲一種典型的網絡服務,攻擊者能夠它們的漏洞對web服務器實施滲透攻擊或者獲取敏感信息。
    (4)web應用程序安全與威脅

3. SQL注入mysql

  • SQL注入攻擊原理
    利用web應用程序數據層存在的輸入驗證不完善型安全漏洞實施的一類代碼注入攻擊技術。是因爲用戶輸入沒有被正確的過濾以消除SQL語言中的字符串轉義字符。原理是向web應用程序提供的用戶輸入接口輸入一段驚心構造的SQL查詢命令,攻擊和利用不完善的輸入驗證機制,使得輸入代碼得以執行完成非預期的攻擊操做行爲。
  • SQL注入攻擊步驟
    (1)發現SQL注入點
    (2)判斷後臺數據庫類型
    (3)後臺數據庫中管理員用戶口令字猜解
    (4)上傳ASP後門,獲得默認帳戶權限
    (5)本地權限提高
    (6)利用數據庫擴展存儲過程執行Shell命令
  • SQL 注入攻擊工具
    (1)Wposion 能在動態web文檔中找出SQL注入漏洞
    (2)wieliekoek.pl 以網站鏡像工具生成的輸入爲輸出,對錶單頁面注入字符串修改
    (3)SPIKE Proxy 對待注入的字符串進行定製
    (4)SPI Toolkit工具包

教材做業實踐

SQL注入實驗

相關知識

  • SQL語言
    SQL(Structured Query Language,結構化查詢語言):是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名。
  • SQL注入
    SQL注入:SQL注入能使攻擊者繞過認證機制,徹底控制遠程服務器上的數據庫。SQL是結構化查詢語言的簡稱,它是訪問數據庫的事實標準。目前,大多數Web應用都使用SQL數據庫來存放應用程序的數據。幾乎全部的Web應用在後臺都使用某種SQL數據庫。跟大多數語言同樣,SQL語法容許數據庫命令和用戶數據混雜在一塊兒的。若是開發人員不細心的話,用戶數據就有可能被解釋成命令,這樣的話,遠程用戶就不只能向Web應用輸入數據,並且還能夠在數據庫上執行任意命令了。
  • SQL注入危害
    一、非法讀取、篡改、添加、刪除數據庫中的數據。
    二、盜取用戶的各種敏感信息,獲取利益。
    三、經過修改數據庫來修改網頁上的內容。
    四、私自添加或刪除帳號。
    五、注入木馬等等。
  • SQL注入攻擊防範措施
    一、使用類型安全的參數編碼機制
    二、凡是來自外部的用戶輸入,必須進行完備檢查
    三、將動態SQL語句替換爲存儲過程、預編譯SQL或ADO命令對象
    四、增強SQL數據庫服務器的配置與鏈接

環境搭建

  • 啓動mysql:sudo mysqld_safe

  • 啓動apache服務器:sudo service apache2 start

  • 配置DNS:sudo vim /etc/hosts
    上述的URL僅僅在鏡像內部能夠訪問,由於修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本機IP127.0.0.1。若是須要在其餘機器訪問,應該修改hosts文件,使URL映射到phpBB2所在機器的IP。

  • 配置網站文件:sudo vim /etc/apache2/conf.d/lab.conf

關閉對抗措施

PHP提供了自動對抗SQL注入的機制,被稱爲magic quote,咱們須要關閉它:sudo vim /etc/php5/apache2/php.iniweb

  • 找到/etc/php5/apache2/php.ini
  • 找到magic_quotes_gpc = On這一行
  • 改成magic_quotes_gpc = Off
  • 重啓Apache:」sudo service apache2 restart」

對select的攻擊

系統會要求你登錄。這個登錄認證由服務器上的login.php實現,須要用戶輸入用戶名和密碼來經過認證。
在用戶名輸入ted'#,密碼空着就行,ted是一個已經存在的用戶名,用單引號結束這個字符串,用#轉義掉後面的語句。sql

對update的攻擊

當用戶想要在phpBB2中修改他們的資料時,能夠點擊Profile,而後填寫表單修改。用戶發送修改請求後,會執行include/usercp_register.php中的一條UPDATE SQL語句。在這條語句中一樣有一個SQL注入漏洞,能夠用它來達到如下目標:在不知道其餘人密碼的狀況下修改其資料。shell

XSS攻擊實驗

XSS攻擊步驟:
(1)攻擊者構造出一個包括惡意腳本的bank.com登陸請求連接,並經過Email/HTTP等方式將攻擊連接發送給其它bank.com的網站用戶;
(2)受害用戶點擊攻擊連接後,將會把惡意連接中包含的惡意腳本當作用戶名參數提交給bank.com的登錄處理網頁;
(3)因爲bank.com登陸處理頁面存在XSS漏洞,將會在反饋的歡迎頁面中包含惡意客戶端腳本;
(4)攻擊者的惡意客戶端腳本在受害用戶瀏覽中執行,一般會驅動瀏覽器向攻擊者發送會話令牌。如會話ID、Cookie信息等;
(5)攻擊者得到用戶會話令牌以後,就能夠劫持用戶會話,或者僞造用戶登陸bank.com,並可實施進一步攻擊。數據庫

  • 測試xss漏洞
    在seed環境中的phpBB論壇上發佈含有腳本「」的帖子,打開帖子後會出現下圖所示頁面,表示該論壇程序存在XSS漏洞

  • 顯示用戶會話Cookie

2、視頻內容學習總結

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

一、 BBQSql
BBQSql是一個Python編寫的盲注工具(blind SQL injection framework),當檢測可疑的注入漏洞時會頗有用。同時它也是一個半自動工具,容許客戶自定義參數。apache

二、 DBPwAudit(數據庫用戶名密碼枚舉工具)編程

  • 破解SQLServer數據庫:
    ./dbpwaudit -s IP -d master(數據庫名) -D mssql(數據庫類型) -U username(字典) -P password(字典)
  • 破解MySQL數據庫:
    ./dbpwaudit.sh -s IP -d mysql(數據庫名) -D MySQL(數據庫類型) -U username(字典) -P password(字典)

三、 HexorBase
HexorBase是圖形化的密碼破解與鏈接工具,開源;鏈接而且控制數據庫執行一些語句。vim

四、JSQL Injection
是一款輕量級安全測試工具,能夠檢測SQL注入漏洞,他跨平臺(windows,Linux,Mac os,Solaris),開源且免費。將存在注入漏洞的URL貼進來便可進行響應的漏洞利用。圖形化界面比較親民,可是使用效果有待改善。

五、 MDBTools
包括MDB-Export以及MDB-dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具,具體環境具體使用。

六、Orcal Scanner
用JAVA開發的Orcale評估工具。基於插件的結構,能夠列舉不少信息。

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

七、SIDGusser
針對Oracle的SID進行暴力枚舉;SID爲Oracle鏈接字符串:實例名+用戶+密碼

八、 SqIDICT(用戶名密碼枚舉工具)
經過wine運行。

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

一、tnscmd10g

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

  • 獲取表:sqlsus> get tables
  • 生成配置文件:sqlsus -g test.conf
  • 編輯配置文件:vi test,conf
  • 修改our $url_start = ""
  • 啓動並測試:sqlsus test.conf
  • 獲取數據庫數據,查看所有數據庫名字:sqlsus> get databases
  • 設定數據庫:sqlsus> set databases database = "mysql"

能夠查看生成的配置文件

三、 Sqlninja
是一款perl編寫的專門針對Microsoft SQL Server的sql注入工具。和市面上其餘注入工具不一樣,sqlninja沒有將精力用在跑數據庫上,而是側重於得到一個shell。
優勢:

  • 專門針對Microsoft SQL Server的sql注入工具;
  • 能夠找到遠程SQL服務器的標誌和特徵(版本、用戶執行的查詢、身份驗證模式等);
  • sa口令的強力攻擊,找到口令後,就將特權提高到「sa」;
  • 若是原始的xp_cmdshell被禁用,就建立一個定製的xp_cmdshell。

四、Sqlmap
SQLMAP是一個開源的滲透測試工具,是用Python編寫。主要用於自動化的偵測和實施SQL注入攻擊以及滲透數據庫服務器。配有強大的偵測引擎,適用於高級滲透冊書用戶,不只能夠得到不一樣的數據庫指紋信息,還能夠從數據庫中提取數據,有很強大的抓取數據的能力。經常使用命令以下:

  • 列舉數據庫:sqlmap.py -u "注入地址" -v 1 --dbs
  • 當前數據庫:sqlmap.py -u "注入地址" -v 1 --current-db

Kali漏洞分析之Web應用代理

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

  • 設置瀏覽器代理地址爲127.0.0.1,端口8080
    Edit>preferences>Advanced>Netwok>Connection>settings>Mnnualproxyconfiguration>HTTP proxy

  • 打開burpsuite肯定設置的代理地址與瀏覽器一致

  • 當Intercept is on時,表示已經開啓攔截功能。

二、 OWASP ZAP
攻擊代理,查找網頁應用程序漏洞的綜合類滲透測試工具,包含攔截代理、自動代理、被動代理、暴力破解、端口掃描及蜘蛛搜索等功能。是會話類調試工具。

三、Vega
開源的web應用程序安全測試平臺,Vega能幫助驗證SQL注入、跨站腳本(XSS)、敏感信息泄露和其餘一些安全漏洞。Vega使用java編寫,有GUI,能夠在多平臺下運行。Vega相似於Paros Proxy, Fiddler, Skipfish and ZAproxy。

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

五、proxystrike
Web會話安全分析工具ProxyStrike
在Web應用中,客戶端發出一次請求,服務器響應一次。這構成一個完整的會話。經過分析請求和響應的數據,能夠發現Web應用存在的漏洞。Kali Linux提供一款專用工具ProxyStrike。該工具提供HTTP代理功能,能夠跟蹤HTTP會話信息,並進行分析統計。同時,該工具也提供攔截功能,安全人員能夠對每一個會話進行分析和修改,以獲取服務器的不一樣響應。
該工具還經過插件模式,提供安全掃描功能。該工具默認集成SQL注入和XSS兩個插件。在捕獲會話的同時,該工具會自動進行安全檢測,以發現目標服務器存在的漏洞。安全人員也可使用該工具對目標網站進行爬取,以蒐集更多的網站資源,並同時進行安全檢測。

六、 webscarab
基於GNU協議,包括HTTP代理、網絡爬行、網絡蜘蛛、會話ID分析等功能。

Kali漏洞分析之BurpSuit

Burp Suite 是用於攻擊web 應用程序的集成平臺。它包含了許多工具,併爲這些工具設計了許多接口,以促進加快攻擊應用程序的過程。全部的工具都共享一個能處理並顯示HTTP 消息,持久性,認證,代理,日誌,警報的一個強大的可擴展的框架。

工具箱:
Proxy--是一個攔截HTTP/S的代理服務器,做爲一個在瀏覽器和目標應用程序之間的中間人,容許你攔截,查看,修改在兩個方向上的原始數據流。
Spider--是一個應用智能感應的網絡爬蟲,它能完整的枚舉應用程序的內容和功能。
Scanner[僅限專業版]--是一個高級的工具,執行後,它能自動地發現web 應用程序的安全漏洞。
Intruder--是一個定製的高度可配置的工具,對web應用程序進行自動化攻擊,如:枚舉標識符,收集有用的數據,以及使用fuzzing 技術探測常規漏洞。
Repeater--是一個靠手動操做來補發單獨的HTTP 請求,並分析應用程序響應的工具。
Sequencer--是一個用來分析那些不可預知的應用程序會話令牌和重要數據項的隨機性的工具。
Decoder--是一個進行手動執行或對應用程序數據者智能解碼編碼的工具。
Comparer--是一個實用的工具,一般是經過一些相關的請求和響應獲得兩項數據的一個可視化的"差別"。
Intruder是Burp套件的優點,它提供一組特別有用的功能。它能夠自動實施各類攻擊,包括:資源枚舉、數據提取、模糊測試等常見漏洞。在各類有效的掃描工具中,它可以以最細化、最簡單的方式訪問它生產的請求與響應,容許組合利用我的智能與該工具的控制優勢。

(1)首先配置監聽端口,配置瀏覽器。

(2)而後就能夠查看全部請求的數據包

(3)點擊數據包,能夠查看包內容

(4)右鍵單擊包,選擇「send to intruder」,便可進行攻擊

Kali漏洞分析之Fuzz工具

Fuzz是模糊測試的工具,是模糊測試時漏洞挖掘過程當中的重要一步。
一、Bed.pl
Bed(Bruteforce Exploit Detector)是一個純文本協議的Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出,格式串漏洞,整數溢出等。
使用參數以下:
-s 針對FTP協議,FTP參數
-t 目標IP地址
-p 目標端口
-o timeout 發送一連串畸形數據包,嘗試使程序報錯,進行判斷。

二、Fuzz_ipv6
Fuzz_ipv6是THC出品的針對IPV6協議的模糊測試工具

三、Ohrwurm
ohrwurm 是一個小巧而簡單的RTP模糊器,它已經在少許的SIP**上測試過了,它們都沒有經受voip分析工具包的模糊測試。

四、Powerfuzzer
Powerfuzzer做爲Fuzz請求的工具 ,BurpSuit等Web代理工具也具備相應Fuzz能力。

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

  • 登陸get請求,登陸頁面口令猜解
    wfuzz -c -z file,users.txt -z file,pass.txt -hc
  • 頁面數目猜解
    wfuzz -c -z range,1-10 --hc=BBB

六、SFuzz:Simple-Fuzzer

七、XSSer
針對XSS漏洞的挖掘,xsser --gtk 圖形化界面,對一個頁面或點進行xss測試,判斷是否有XSS的漏洞。

圖形化界面:xsser --gtk

相關文章
相關標籤/搜索