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服務器平臺中的安全漏洞主要有:windows
Web應用程序安全威脅從攻擊技術角度能夠分爲6類:後端
代碼注入利用Web應用程序的輸入驗證不完善漏洞,使得Web應用程序執行由攻擊者所注入的惡意指令和代碼,形成敏感信息泄露、權限提高或對系統的未受權訪問等危害後果。瀏覽器
SQL注入漏洞是因爲用戶輸入沒有被正確的過濾以消除SQL語言中的字符串轉義字符或沒有進行嚴格的類型判斷,從而使用戶能夠輸入並執行一些非預期的SQL指令代碼。
SQL注入攻擊步驟:
Web瀏覽器也遭遇着軟件安全困境三要素的問題,即複雜性、可擴展性和連通性。
網頁木馬
網頁木馬存在的技術基礎是Web瀏覽端安全漏洞,其攻擊是被動式的,本質特性是利用了現代Web瀏覽器軟件中所支持的客戶端腳本執行能力,針對Web瀏覽端軟件安全漏洞實施客戶端滲透攻擊,從而取得在客戶端主機的遠程代碼執行權限來植入惡意程序。
網頁木馬的本質核心是瀏覽器滲透攻擊,其特性是:
網頁掛馬的機制主要有四種:
網頁木馬分析與檢測技術方法:
BBQSql是一個Python編寫的盲注工具,是一個半自動工具,容許客戶自定義參數。
是一個數據庫用戶名密碼枚舉工具。
破解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(字典)
圖形化的密碼破解與鏈接工具,開源。
jSQL是一款輕量級安全測試工具,由java寫的開源工具,能夠檢測SQL注入漏洞。
是一個用Java開發的Oracle評估工具,它是基於插件的結構,當前有兩個插件能夠作:
一樣是針對Oracle的SID進行暴力枚舉的工具。SID爲Oracle實例名,Oracle鏈接字符串經過實例名+用戶+密碼鏈接。
是一個用戶名密碼枚舉工具,經過Wine運行。
容許用戶向Oracle數據庫中注入命令。
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
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是一個開源滲透測試工具,主要用於自動化偵測和實施SQL注入攻擊以及神偷數據庫服務器,適用於高級滲透測試用戶,能夠得到不一樣數據庫的指紋信息,還能夠從數據庫中提取數據,處理潛在的文件系統以及經過外帶數據鏈接執行系統命令等。
常見命令:
burp Suite是用於攻擊web應用程序的集成平臺。Burp S uite帶有一個代理,經過默認端口8080上運行,,使用這個代理,咱們能夠截獲並修改從客戶端到web應用程序的數據包。平臺中全部工具共享同一robust框架。各個功能之間能夠互相轉發數據包。
設置完成後,訪問百度:
點了forward以後網頁纔打開:
Prox提供一個直觀、有好的用戶界面,它的代理服務器包含很是詳細的攔截規則,並能準確分析HTTP消息的結構與內容。
Spide爬行蜘蛛工具,能夠用來抓取目標網站,一線是網站的內容,基本架構,和其餘功能。
Scannery Web應用程序的安全漏洞進行自動發現工具。被設計用於滲透測試,適應執行手動和半自動化的web應用程序滲透測試。
Repeater可讓你手動從新發送單個HTTP請求。
Intruder是burp套件的又是,能夠自動實施各類定製攻擊,可以以最細化、最簡單的方式訪問它產生的請求與相應,容許組合利用我的只能與該工具的控制有點。
Sequencer 對話令牌,回話表示服或其餘出於安全緣由須要隨機產生的鍵值得可預測性分析。
Decoder 轉化成規範形式的編碼數據,或轉化成各類形式編碼和三列的原始數據,它可以智能識別多種編碼格式,使用自發式技術。
Comparer 是一個簡單的工具,執行比較數據之間的任何兩個項目。
OWASP是一款查找網頁應用程序漏洞的綜合類滲透測試工具,包含了攔截代理、自動處理、被動處理、暴力破解、端口掃描以及蜘蛛搜索等功能,是會話類調試工具,調式功能對網站不會發起大量請求,對服務器影響較小。
模糊測試是漏洞分析很重要的一步。
是一個純文本協議的Fuzz工具,可以檢查常見的漏洞,如緩衝區溢出,格式串漏洞,整數溢出等。
一、Sqlmap測試中靶機中找不到相應的目錄。
二、burp suite測試時候,搜索東西直接就跳轉了,沒有先把包攔下來。