Web應用程序是一種使用瀏覽器在互聯網或企業內部網上進行訪問操做的應用軟件形態。Web應用體系有瀏覽器做爲客戶端完成數據顯示和展現內容的渲染;由功能強大的服務器完成主要業務的計算和處理,二者之間經過因特網或內聯網上HTTP/HTTPS應用層協議的請求與應答進行通訊。服務器端由Web服務器軟件、Web應用程序與後端數據庫構成,並經過經典三層架構:表示層、業務邏輯層、數據層三層來進行組織與構建。
瀏覽器
使用HTTP/HTTPS協議,HTML語言和web服務器進行交互,獲取web服務器上的信息和應用服務。
Web服務器
web服務器軟件一般被描述爲HTTP守護程序,接收Web客戶端對資源的請求,,在這些請求上執行一些基本的解析處理以肯定資源的存在,而後將它傳送給web應用程序來執行,待web應用程序執行完邏輯並返回響應時,web服務器在將這個響應返回給web客戶端,在瀏覽器上進行本地執行、渲染和展現。
web應用程序
處於服務端的業務邏輯是web應用的核心。
數據庫
是web應用存儲數據的地方,數據層也做爲web應用程序多級結構中的最後一層。java
針對瀏覽器和終端用戶的Web瀏覽器安全威脅
具體包括以瀏覽器滲透爲核心的網頁木馬,Phishing網站釣魚等。
針對傳輸網絡的網絡協議安全威脅
針對HTTP明文傳輸協議的敏感信息監聽,在網絡層。傳輸層和應用層都存在的假冒身份攻擊,以及拒絕服務攻擊等。
系統層安全威脅
web站點的宿主操做系統存在的遠程滲透攻擊和本地滲透攻擊威脅。
web服務器軟件安全威脅
web服務器軟件如IIS,Apache做爲一種典型的網絡服務,攻擊者能夠它們的漏洞對web服務器實施滲透攻擊或者獲取敏感信息。
web應用程序安全與威脅
程序員在使用ASP,PHP等腳本編程語言實現web應用程序時,因爲缺少安全意識或是有着不良的編程習慣,最終致使web應用程序出現安全漏洞,從而被攻擊者滲透利用,包括SQL注入攻擊,XSS跨站腳本攻擊等。
web數據安全威脅
web站點中在web應用程序後臺存儲的關鍵數據內容,以及web客戶輸入的數據內容,存在着被竊取,篡改及輸入不良信息等威脅。mysql
SQL注入攻擊原理
利用web應用程序數據層存在的輸入驗證不完善型安全漏洞實施的一類代碼注入攻擊技術。是因爲用戶輸入沒有被正確的過濾以消除SQL語言中的字符串轉義字符。
原理是向web應用程序提供的用戶輸入接口輸入一段驚心構造的SQL查詢命令,攻擊和利用不完善的輸入驗證機制,使得輸入代碼得以執行完成非預期的攻擊操做行爲。
SQL注入攻擊步驟和過程
(1)發現SQL注入點
(2)判斷後臺數據庫類型
(3)後臺數據庫中管理員用戶口令字猜解
(4)上傳ASP後門,獲得默認帳戶權限
(5)本地權限提高
(6)利用數據庫擴展存儲過程執行Shell命令程序員
一、BBQSql
這是一個Python編寫的盲注工具,當檢測可疑的注入漏洞時會頗有用,同時也是一個半自動工具,容許客戶自定義參數。
二、DBPwAudit(數據庫用戶名密碼枚舉工具)
使用參考:破解SQLSever數據庫:#./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
圖形化的密碼破解與鏈接工具,開源。
四、Jsql Injection
輕量級安全測試工具,能夠檢測SQL注入漏洞。跨平臺、開源且免費將存在注入漏洞的URL貼進來便可進行相應的漏洞利用。
五、MDBTools
包括MDB-Export以及MDB-dump,mdb-parsecsv,mdb-sql,mdb-tables等子工具,
六、Orcal Scanner
用JAVA開發的Orcale評估工具。基於插件的結構,當前由兩個插件能夠作:web
Sid列舉 口令測試 列舉Oracle版本 列舉帳號特權 列舉帳號哈希 列舉審計信息 列舉口令策略 列舉數據庫連接
七、SIDGusser
針對Oracle的SID進行暴力枚舉的工具。SID爲Oracle鏈接字符串,經過實例名+用戶+密碼鏈接
八、SqIDICT
又一個用戶名密碼枚舉工具,經過Wine運行。sql
一、Sqlsus
開源代碼MySQL注入和接管工具,使用perl編寫,基於命令行界面。sqlsus能夠獲取數據庫結構,注入本身的SQL語句,從服務器下載文件,爬行web站點可寫目錄,上傳控制後門,克隆數據庫等等。特色注射獲取數據速度很是快,自動搜索可寫目錄。
二、sqlninja
是一款perl編寫的專門針對Microsoft SQL Server的sql注入工具。和市面上其餘注入工具不一樣,sqlninja沒有將精力用在跑數據庫上,而是側重於得到一個shell。
優勢:專門針對Microsoft SQL Server的sql注入工具;能夠找到遠程SQL服務器的標誌和特徵(版本、用戶執行的查詢、身份驗證模式等);sa口令的強力攻擊,找到口令後,就將特權提高到「sa」;若是原始的xp_cmdshell被禁用,就建立一個定製的xp_cmdshell
三、SQLmap
開源的滲透測試工具,主要用於自動化的偵測和實施SQL注入攻擊以及滲透收據庫服務器,SQLmap擁有強大的偵測引擎,適用於高級滲透測試用戶,能夠得到不一樣數據庫的指紋信息,還能夠從數據庫中提取數據,處理潛在的文件系統以及經過帶外數據鏈接執行系統命令。shell
經過應用代理分析數據包或修改數據包重放、暴力攻擊等在WEB安全測試中常常用到。
一、Burp Suite
用於攻擊web應用程序的集成平臺,它有一個代理,經過默認端口8080上運行,使用這個代理,咱們能夠截獲並修改從客戶端到web應用程序的數據包。
二、OWASP ZAP
一款查找網頁應用程序漏洞的綜合類滲透測試工具。
三、VEGA
開源的web應用程序安全測試平臺,Vega能幫助驗證SQL注入、跨站腳本(XSS)、敏感信息泄露和其餘一些安全漏洞。Vega使用java編寫,有GUI,能夠在多平臺下運行。Vega相似於Paros Proxy, Fiddler, Skipfish and ZAproxy。
四、Paros
是一個對web應用程序的漏洞進行評估的代理程序,是一個基於Java的web代理程序,能夠評估web應用程序的漏洞。數據庫
Web應用程序集成攻擊平臺,包含了一系列的burp工具,工具中有大量接口能夠相互通訊,從而提升整個攻擊的效率。平臺中全部工具共享同一個robust框架,以便統一處理HTTP請求,持久性認證,上游代理,日誌記錄,報警和可擴展性。
Burp Suite容許攻擊者結合手工和自動技術去枚舉、分析、攻擊web應用程序。這些不一樣的burp工具協同合做,有效的分享信息,支持以某種工具中的信息做爲基礎提供另外一種工具使用的方式發起攻擊。
Proxy提供直觀、友好的界面,它的代理服務器包包含詳細的攔截規則,並能準確的分析HTTP消息的結構與內容。
Spide爬行蜘蛛工具,能夠用來抓取目標網站,以顯示網站內容、基本結構,和其餘功能。
Scnner Web應用程序的安全漏洞進行自動發現工具。它被設計用於滲透測試,適應執行手動和半自動化的Web應用程序滲透測試。
Repeater 是都從新發送單個HTTP請求。
編程
一、Bed.pl
Bed是一個純文本協議Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出漏洞,格式串漏洞,整數溢出等。使用參數以下,可選擇針對不一樣協議的插件。
二、Fuzz_ipv6
THC出品的針對IPV6協議的模糊測試工具
可是在Fuzzing工具集中沒有找到這個工具。
三、Ohrwurm
四、Powerfuzzer
BurpSuit等Web代理工具也具備相應Fuzz能力。
五、Wfuzz
針對Web應用的模糊測試工具,能夠進行Web應用暴力猜解,也支持對網站目錄、登陸信息、應用資源文件等的暴力猜解,還能夠進行get及post參數的猜解,sql注入、xss漏洞測試等。該工具全部功能依賴於字典。
六、SFuzz:Simple-Fuzzer
後端
在這次學習中,只要學習了Kali漏洞分析的一些軟件的使用,有些程序運行的還挺流暢,可是有些程序運行的就有點卡,例如BurpSuit,在運行次軟件過程當中,加之電腦使用的時間過長,已經用了六七年,可以勉強運行虛擬機已然是個奇蹟,在運行BurpSuit時,就會變得特別卡,運行程序也特別慢。另外,視頻中的有些軟件在本身的虛擬機中並無找到,例如Fuzz_ipv6,視頻中顯示是在Fuzzing工具集中,但我從Fuzzing工具集中並無找到,多是因爲版本的問題吧。瀏覽器
學習了課本第11、十二章,視頻的內容也進行了相應的學習與操做。