Web應用程序安全攻防 java
本章從WEB技術的服務端和瀏覽器端來分析WEB安全攻防技術的輪廓。Web應用程序是一種使用瀏覽器在互聯網或企業內部網上進行訪問操做的應用軟件形態。Web應用體系有瀏覽器做爲客戶端完成數據顯示和展現內容的渲染;由功能強大的服務器完成主要業務的計算和處理,二者之間經過因特網或內聯網上HTTP/HTTPS應用層協議的請求與應答進行通訊。服務器端由Web服務器軟件、Web應用程序與後端數據庫構成,並經過經典三層架構:表示層、業務邏輯層、數據層三層來進行組織與構建。web
Web應用體系結構中關鍵組件:
瀏覽器(Browser)
Web服務器(Web Server)
Web應用程序(Web Application)
數據庫(Database)
傳輸協議HTTP/HTTPS
Web應用安全威脅:
針對瀏覽器和終端用戶的Web瀏覽安全威脅
針對傳輸網絡的網絡協議安全威脅
系統層安全威脅
Web服務器軟件安全威脅
Web應用程序安全威脅
Web數據安全威脅
Web應用安全攻防技術概述:
Web應用的信息收集
攻擊Web服務器軟件
攻擊Web應用程序
攻擊Web數據內容
SQL注入:
代碼注入是針對web應用程序的主流攻擊技術之一。
代碼注入根據攻擊目標的不一樣又分爲:
惡意讀取、修改與操縱數據庫的SQL注入攻擊;
在Web服務器端安裝、執行Webshell等惡意腳本的PHP注入或ASP注入攻擊;
在web服務器端惡意執行操做系統命令的Shell注入攻擊;
其餘注入攻擊。sql
SQL攻擊步驟:shell
發現SQL注入點;判斷後臺數據庫類型;後臺數據庫中管理員用戶口令字猜解;上傳ASP後門,獲得默認帳戶權限;本地權限提高;利用數據庫擴展存儲過程執行Shell命令。
XSS跨站腳本攻擊:
XSS跨站腳本攻擊的最終目標是使用Web應用程序的用戶。
XSS跨站腳本漏洞有兩種類型:持久性XSS漏洞和非持久性XSS漏洞。前者是危害最爲嚴重的XSS漏洞。數據庫
Web瀏覽器安全攻防後端
軟件安全困境三要素:複雜性、可擴展性、連通性。瀏覽器軟件面臨着嚴重的威脅。
網頁木馬存在的技術基礎:Web瀏覽端安全漏洞。
網頁木馬的本質核心——瀏覽器滲透攻擊。
網頁掛馬機制,最主要的有以下四類策略:內嵌HTML標籤、惡意Script腳本、內嵌對象鏈接、ARP欺騙掛馬。
網頁木馬的檢測與分析方法:基於特徵碼匹配的傳統檢測方法、基於統計與機器學習的靜態分析方法、基於動態行爲結果斷定的檢測分析方法、基於模擬瀏覽器環境的動態分析檢測方法、網頁木馬檢測分析技術綜合對比。瀏覽器
Kali視頻學習(16-20)安全
Kali漏洞分析之數據庫評估服務器
BBQSql網絡
BBQSql 是Python編寫的盲注工具(blind SQL injection framework),當檢測可疑的注入漏洞時會頗有用。是一個半自動工具,容許客戶自定義參數。
DBPwAudit(數據庫用戶名密碼枚舉工具)
HexorBase 圖形化的密碼破解與鏈接工具
Jsql Injection
JSQL是一款輕量級的安全測試工具,能夠檢測SQL注入漏洞,它跨平臺(Windows、Linux、Mac OS X 、Solaris),開源且免費。將存在注入漏洞的URL貼進來便可進行響應漏洞利用,圖形化界面親民,使用效率不高。
MDBTools
包括MDB-Export,以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具,具體環境具體使用。
Oracle scanner
oscanner是一個用java開發的Oracle評估工具。
SIDGusser
一樣是針對oracle的SID進行暴力枚舉工具。SID爲oracle實例名,oracle鏈接字符串,經過實例名+用戶名+密碼鏈接。
SqlDICT
又一個用戶名密碼枚舉工具,經過Wine運行。
SQLsus
SQLsus是一個開放源代碼的MySql注入和人接管工具,SQLsus使用Perl編寫,基於命令行界面。SQLsus能夠獲取數據庫結構鋼,注入本身的SQl語句,從服務器下載文件,爬行web站點可寫目錄,上傳和控制後門,克隆數據庫等。最好使用的亮點就是注射獲取數據速度很是快,另外一個最大的特色是自動搜索可寫目錄。
編輯配置文件:
修改 our $url_start = "";寫入地址。
sqlninja
在sql注入方面一直尊sqlmap爲神器,但sqlninja也有本身的特色。
Sqlninja是一款perl編寫的專門針對Microsoft Sql Server的sql注入工具。和市面上其餘的諸如工具不一樣,sqlninja沒有將精力用在跑數據庫上,而是側重得到一個shell。sqlninja優勢:
一個專門針對Microsoft Sql Server的sql注入工具。
能夠遠程sql服務器的標誌和特徵(版本、用戶執行的查詢、用戶特權、xp-cmdshell的可用性、身份驗證模式等)
「sa」口令的強力攻擊
若是找到口令後,九江特權提高到「sa」
若是原始的xp-cmdshell被禁用後,就建立一個定製的xp-cmdshell。
使用純粹的ASSCII GET/POST請求來上載netcat.exe程序(以及任何可執行程序),所以不須要FTP鏈接。
爲了找到目標網絡的防火牆所容許的端口,能夠實施針對目標SQL,服務器TCP/UDP端口掃描。
逃避技術,使注入代碼模糊不清,混淆/繞過機遇期阿寧的IPS和應用層防火牆。
採用「盲目執行」攻擊模式,在其餘模式失效時i,用於發佈命令並執行診斷。
在sqlninja生成的代碼上,執行自動化URL編碼,用戶可驚喜的控制漏洞利用的字符串。
獲得權限sa,結合msf進一步對目標主機滲透。
Sqlmap
開源滲透測試工具,Python編寫。自動化偵測實施Sql注入攻擊及滲透數據庫服務器,能夠獲取不一樣數據庫的指紋信息,還能夠提取數據。
漏洞分析之Web應用代理
Burp Suite
用於攻擊web應用程序的集成平臺,它帶有一個代理,經過默認端口8080運行,使用這個代理,能夠截獲並修改從客戶端到web應用程序的數據包。
OwaspZAP
攻擊代理,查找網頁應用程序漏洞的綜合類滲透測試工具,包含攔截代理、自動代理、被動代理、暴力破解、端口掃描及蜘蛛搜索等功能。是會話類調試工具。
VEGA
開源的web應用程序安全測試平臺,Vega能幫助驗證SQL注入、跨站腳本(XSS)、敏感信息泄露和其餘一些安全漏洞。Vega使用java編寫,有GUI,能夠在多平臺下運行。Vega相似於Paros Proxy, Fiddler, Skipfish and ZAproxy。
WebScarab
webscarab是一款dialing軟件,包括HTTP代理、網絡爬行、網絡蜘蛛、會話id分析、自動腳本接口、模糊測試工具、WEB格式的編碼/解碼、WEB服務描述語言和SOAP解析器等功能模塊。webscarab基於GUN協議,使用Java編寫,是WebGoat中使用的工具之一。
漏洞分析之BurpSuite
Burp Suite是一個Web應用程序集成攻擊平臺,它包含了一系列burp工具,這些工具之間有大量接口能夠互相通訊,這樣設計的目的是爲了促進和提升整個攻擊的效率。
平臺中全部工具共享同一robust框架,以便統一處理HTTP請求,持久性,認證,上游代理,日誌記錄,報警和可擴展性。
Burp Suit容許攻擊者結合手工和自動技術去枚舉、分析、攻擊Web應用程序。
這些不一樣的burp工具經過協同工做,有效的分享信息,支持以某種工具中的信息爲基礎供另外一種工具使用的方式發起攻擊。
Proxy提供一個直觀、友好的用戶界面,他的代理服務器包含很是詳細的攔截規則,並能準確分析HTTP消息的結構與內容。
Spide爬行蜘蛛工具,能夠用來抓取目標網站,以顯示網站的內容,基本結構,和其餘功能。
Scanner Web應用程序的安全漏洞進行自動發現工具。它被設計用於滲透測試,並密切與您現有的技術方法,以適應執行手動和半自動化的Web應用程序滲透測試。
Repeater可以讓您手動從新發送單個HTTP請求
Intruder是burp套件的優點,它提供一組特別有用的功能。它能夠自動實施各類定製攻擊,包括資源枚舉、數據提取、模糊測試等常見漏洞。在各類有效的掃描工具中,它可以以最細化最簡單的方式訪問它設生產的請求與響應,容許組合利用我的智能與該工具的控制優勢。
Sequencer對會話令牌,會話標識符或其餘出於安全緣由須要隨機產生的鍵值的可預測性進行分析。
Decoder轉化成規範的形式編碼數據,或轉化成各類形式編碼和散列的原始數據。它可以智能識別多種編碼格式,使用啓發式技術。
Comparer是一個簡單的工具,執行比較數據之間的任何兩個項目。攻擊一個Web應用程序的狀況下,這一要求一般會出現當你想快速識別兩個應用程序的響應之間的差別,或兩個應用程序請求。
步驟:
1.配置監聽端口,配置瀏覽器,在大多數瀏覽器,只需打開設置-網絡-代理,而後告訴它使用「localhost」和端口「8080」。而後保存更新的設置。
2.爬蟲與掃描,能夠列出當前網站中已獲取到的目錄與文件及引用到的其餘文件
3.測試暴力破解表單帳戶密碼
4.repeater改包重放模塊
5.decoder編碼解碼模塊
6.compare模塊
Kali漏洞分析之Fuzz工具
Bed.pl
Bed是一個純文本協議Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出漏洞,格式串漏洞,整數溢出等。使用參數以下,可選擇針對不一樣協議的插件。
Fuzz_ipv6
THC出品的針對IPV6協議的模糊測試工具
Powerfuzzer
BurpSuit等Web代理工具也具備相應Fuzz能力。
Ohrwurm
ohrwurm是一個很迷你RTP fuzz工具。
Wfuzz
針對WEB應用的模糊測試工具,能夠進行web應用暴力猜解,也支持對網站目錄、登陸信息、應用資源文件等的暴力猜解,還能夠進行get及post參數的猜解,sql注入、xss漏洞的測試等。