1. 程式人生 > >第五周作業

第五周作業

ddl b-s 泄露 ecs 緩沖 優勢 seed cred shell命令

課後習題: ========== 課外實踐作業P467 ---------- 1 SEED SQL註入實驗 代碼註入是針對Web應用程序的主流攻擊技術之一,通過利用Web應用程序的輸入驗證不完善漏洞,使得Web應用程序執行由攻擊者所註入的惡意指令和代碼,造成敏感信息泄露、權限提升或對系統的未授權訪問等危害後果,根據目標的不同分為:(1)惡意讀取、修改與操縱數據庫的SQL註入攻擊,是最常見也是較為直觀的一種攻擊技術(2)在Web服務器端安裝、執行Webshell等惡意腳本的PHP註入或ASP註入攻擊(3)在Web服務器端惡意執行操作系統命令的Shell註入攻擊(4)其他多種多樣的攻擊如LDAP註入、郵件命令註入。 原理: SQL註入是Web應用程序數據層存在的輸入驗證不完善型安全漏洞實施的一類代碼註入攻擊技術。SQL註入攻擊原理是向Web應用程序提供的用戶輸入接口輸入一段精心構造的SQL查詢命令,攻擊和利用不完善的輸入驗證機制,使得註入代碼得以執行完成非預期的攻擊操作行為。在支持同時執行多條SQL語句的後臺數據庫管理系統中,最終將順序執行三個不同的SQL查詢與操作,即對accounts表進行查詢,完全刪除accounts表以及查詢admin表獲取全部記錄信息。另外一種常見的SQL註入漏洞是由於不正確的類型處理,沒有對用戶輸入參數進行類型約束的檢查。 攻擊步驟: (1)發現SQL註入點(常見的SQL註入點存在形如http://SITE/xxx.asp?some_rec=yyy的動態網頁中) (2)判斷後臺數據庫類型(後臺數據庫類型可以通過對數據庫服務器的系統變量、系統表的查詢來進行判斷) (3)後臺數據庫中管理員用戶口令字猜解 (4)上傳ASP後門,得到默認賬戶權限 (5)本地權限提升 (6)利用數據庫擴展存儲過程執行Shell命令 攻擊工具:Wposion能夠在動態Web文檔中找出SQL註入漏洞;wieliekoek.pl能夠以並以網站鏡像工具生成的輸出為輸入,找出含有表單頁面,允許在配置文件中對註入字符串進行修改,進行SQL註入漏洞探測;SPIKE Proxy工具允許在配置文件中對註入字符串進行定制,並執行自動化的SQL註入測試;SPI Toolkit工具包中也包含了一個名叫“SQL Injector”的自動化SQL註入測試工具。 防範措施:主要依靠對用戶輸入中特殊字符嚴格的輸入驗證機制,及對輸入參數類型與長度的嚴格檢查與限制機制。具體來說註意以下幾個方面:(1)使用類型安全的參數編碼機制(2)凡是來自外部的用戶輸入,必須進行完備檢查(3)將動態SQL語句替換為存儲過程、預編譯SQL或ADO命令對象(4)加強SQL數據庫服務器的配置與連接。 2 SEED XSS攻擊實驗 ---------- 從20世紀90年代就已經出現,近年已經超過傳統的緩沖區溢出攻擊,成為排名最靠前的安全威脅類型之一,與代碼註入攻擊不同的是,其最終目的不是提供服務的Web應用程序,而是使用Web應用程序的用戶。 原理:與代碼註入類似,XSS攻擊的根源同樣是Web應用程序對用戶輸入內容的安全驗證與過濾不夠完善。 攻擊類型:兩種主要的XSS漏洞類型:持久性XSS漏洞(也稱作存儲型XSS漏洞,是危害最為嚴重的XSS漏洞)和非持久性XSS漏洞(也稱為反射XSS漏洞),除了傳統的服務器端Web應用程序中存在的XSS漏洞及相應攻擊之外,安全業界又發現了一種在客戶端代碼中存在的XSS漏洞及攻擊技術,被稱為基於DOM的XSS。 利用XSS漏洞:在SEED實驗環境中的phpBB論壇程序中引入了XSS安全漏洞,存在於posting.php與viewtopic.php文件中,針對這一漏洞,我們可以通過如下步驟來測試於利用該漏洞,實施用戶會話Cookie竊取、假冒、甚至XSS蠕蟲攻擊:(1)測試XSS漏洞(2)顯示用戶的會話Cookie(3)竊取用戶的會話Cookie(4)利用Cookie信息假冒其他用戶發表與修改帖子(5)編寫實現XSS蠕蟲。 防範措施:對XSS跨站腳本的防範分為服務器端和客戶端兩個方面。 (1)服務器端防範措施:①輸入驗證②輸出凈化③消除危險的輸入點。 (2)客戶端防範措施:提升瀏覽器的安全設置。 Kali學習視頻: ========== 一.Kali16集KaliSecurity - 漏洞分析之數據庫評估(一)總結1.BBQSql BBQSQL是一個Python編寫的盲註工具,當檢測可疑的註入漏洞時會很有用。同時BBQSQL是一個半自動工具,允許客戶自定義參數。 2.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(字典) 3.HexorBase 圖形化的密碼破解與連接工具,開源。 4.Jsql Injection JSQL是一款輕量級安全測試工具,可以檢測SQL註入漏洞。它跨平臺(Windows,Linux,Mac OS X,Sloaris)、開源且免費。將存在註入漏洞的URL貼進來即可進行響應的漏洞利用。圖形化界面親民,但是使用效果有待改善。(有些URL可能不能正常識別,判斷出有漏洞) 5.MDBTools 包括MDB-Export(Export data in an MDB database table to CSV format),以及MDB-Dump,mdb-parsecsv,mdb-sql,mdb-tables等工具,具體環境具體使用。 6.Oracle Scanner Oscanner是一個用Java開發的Oracle評估工具。它是基於插件的結構,當前有兩個插件可以做:-Sid列舉 -口令測試 -列舉Oracle版本 -列舉賬號角色 -列舉賬號特權 -列舉賬號哈希 -列舉審計信息 -列舉口令策略 -列舉數據庫鏈接 7.SIDGusser 同樣是針對Oracle的SID進行暴力枚舉的工具。SID為Oracle實例名,Oracle連接字符串,通過實例名+用戶+密碼連接。 8.SqlDICT 又一個用戶名密碼枚舉工具,通過Wine運行。 二.Kali17集漏洞分析之數據庫評估總結1.tnscmd10g 允許給Oracle添加命令 2.Sqlsus Sqlsus是一個開放源代碼的MySQL註入和接管工具,sqlsus使用perl編寫,基於命令行界面。Sqlsus可以獲取數據庫結構,註入你自己的SQL語句,從服務器下載文件,爬行web站點可寫目錄,上傳和控制後門,克隆數據庫等等。最好用的兩點就是註射獲取數據速度非常快,另外一個最大的特點就是自動搜索可寫目錄。 生成配置文件: 編輯配置文件:修改our $url_start = “”;寫入地址。 啟動並且測試:sqlsus test.conf 獲取數據庫數據:sqlsus> get databases 查看全部數據庫名字:[+] Getting databases names 設定數據庫:sqlsus> set database database = “sql” sqlsus>set database mysql database = “mysql” sqlsus> 獲取表:sqlsus>get tables [user:5] host user Password 3.Sqlninja 在sql註入方面一直尊sqlmap為神器,但sqlninja也有自己的特點。 Sqlninja沒有將精力用在跑數據庫上,而是側重於獲得一個shell。Sqlninja優點:(1)一個專門針對Microsoft SQL Server的sql諸如工具 (2)可找到遠程SQL服務器的標誌和特征(版本、用戶執行的查詢、用戶特權、xp_cmdshell的可用性、身份驗證模式等) “sa”口令的強力攻擊:如果找到口令後,就將特權提升到“sa”;如果原始的xp_cmdshell被禁用後,就創建一個定制的xp_cmdshell;使用純粹的ASCII GET/POST請求上載netcat。Exe程序,因此並不需要FTP連接;為了找到目標網絡的防火墻所允許的端口,可以實施針對目標SQL服務器的TCP/UDP端口掃描;逃避技術,這是為了使註入式代碼“模糊”不清,並且混淆、繞過基於簽名的IPS和應用層防火墻;采用“盲目執行”攻擊模式,在其他模式失效時,可以用於發射命令並執行診斷;在sqlninja生成的SQL代碼上,執行的是自動化的URL編碼,這使用戶可以更精細地控制漏洞利用的字符串;如果得到權限為sa,可以結合msf進一步對目標主機進行滲透。 Sqlninja的參數:-m #指定攻擊模式,有以下:(1)t/test #測試連接是否是註入點 (2)f/fingerprint #指紋識別,判斷用戶,數據庫,xp_cmdshell是否能用等等 (3)b/bruteforce #暴力破解sa密碼 (4)e/escalation #提權用,必須用-p指定sa的password,成功就會把當前數據庫用戶加入到sa組裏面 (5)x/resurrectxp #嘗試恢復xp_cmdshell (6)u/upload #使用get和post上傳二進制文件 (7)s/dirshell #獲得目標主機的shell (8)k/backscan #查看開放的端口目標 (9)r/revshell #反彈回一個shell,和dirshell相反 (10)d/dnstunnel #指定使用dns作為傳輸通道 等等 4.Sqlmap SQLMAP主要用於自動化地偵測和實施SQL註入攻擊以及滲透數據庫服務器。其配有強大的偵測引擎,適用於高級滲透測試用戶,不僅可以獲得不同數據庫的指紋信息,還可以從數據庫中提取數據,此外還能處理潛在的文件系統以及通過帶外數據連接執行系統命令等。 三.Kali視頻18集Kali漏洞分析之Web應用代理總結1.Burp Suite Burp Suite是用於攻擊web應用程序的集成平臺。Burp Suite代理,通過默認端口8080上運行,使用這個代理,我們可以截獲並修改從客戶端到web應用程序的數據包。 2.OwaspZAP OWASP Zed Attack Proxy Project攻擊代理,是一款查找網頁應用程序漏洞的綜合類滲透測試工具。它包含了攔截代理、自動處理、被動處理、暴力破解、端口掃描以及蜘蛛搜索等功能。OWASP ZAP為會話類調試工具,調試功能對網站不會發起大量請求,對服務器影響較小。 3.Paros paros proxy,這是一個對Web應用程序的漏洞進行評估的代理程序,即一個基於Java的web代理程序,可以評估Web應用程序的漏洞。它支持動態地編輯/查看HTTP/HTTPS,從而改變cookies和表單字段等項目。它包括一個Web通信記錄程序,Web圈套程序,hash計算器,還有一個可以測試常見的Web應用程序攻擊的掃描器。該工具檢查漏洞形式包括:SQL註入、跨站點腳本攻擊、目錄遍歷等。 4.Proxystrike5.Vega代理功能 Vega是一個開放源代碼的web應用程序安全測試平臺,Vega能夠幫助你驗證SQL註入、跨站腳本、敏感信息泄露和其他一些安全漏洞。Vega使用Java編寫,有GUI,可以在Linux、OS X和windows下運行。Vega類似於Paros Proxy,Fiddler,Skipfish和ZAproxy。 6.Webscarab Webscarab一款代理軟件,包括HTTP代理,網絡爬行、網絡蜘蛛,會話ID分析,自動腳本接口,模糊測試工具,WEB格式的編碼/解碼,WEB服務描述語言和SOAP解析器等功能模塊。WebScarab基於GNU協議,使用Java編寫,是WebGoat中所使用的工具之一。 四.Kali視頻19集Kali漏洞分析之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.爬蟲與掃描 五.Kali視頻20集Kali漏洞分析之Fuzz工具總結1.Bed.pl Bed是一個純文本協議的Fuzz工具,能夠檢查常見的漏洞,如緩沖區溢出,格式串漏洞,整數溢出等。使用參數如下,可選擇針對不同協議的插件。 2.Fuzz_ipv6 THC出品的針對IPV6協議的模糊測試工具。 3.Ohrwurm ohrwurm是一個很迷你RTP fuzz工具。 4.Powerfuzzer Powerfuzzer是一個有圖形化界面的fuzz工具,作為一個web請求的fuzz工具。 5.Wfuzz 針對WEB應用的模糊測試工具,可以進行web應用暴力猜解,也支持對網站目錄、登錄信息、應用資源文件等的暴力猜解,還可以進行get及post參數的猜解,sql註入,xss漏洞的測試等。該工具所有功能都依賴於字典。參數中FUZZ相當於一個變量,用字典中的字段來替換它完成猜解。使用參數: wfzz -c –z file,common.txt –hc 404 –o htmlhttp://www.baidu/FUZZ2>res.html wfzz -c –z file,users.txt –z file,pass.txt -hc 404http://www.site.com/log.asp?user=FUZZ(something) 登錄頁面口令猜解,忽略404頁面 wfzz -c –z range, 1-10 –hc=BBBhttp://www.site.com/log.asp?user=FUZZ(something) 頁面數目猜解 與BurpSuite不同的是,它更輕量級。 6.SFuzz:Simple-Fuzzer7.XSSer 主要是對一個頁面或一個點進行XSS測試,判斷是否有XSS漏洞。 參數如下: xsser [OPTIONS] [-u|-i|-d] [-g|-p|-c][Request(s)] [Vector(s)] [Bypasser(s)] [Technique(s)] [Final Injection(s)] 常規參數 [Options] -version顯示版本號 -h,--help 顯示幫助信息 -s,--statistics 先是高級的統計輸出結果 -v,--verbose 啰嗦模式,測試時可以看到詳細的輸出信息 --gtk 啟動基於GTK 的GUI 特殊功能 [Special Features] 指定攻擊向量(Vector)和Bypasser時可以附帶選擇如下特殊功能: -imx=IMX 創建嵌入了XSS代碼的偽圖像文件 -fia=FLASH 創建嵌入了XSS代碼的偽swf文件 指定待檢測目標 [Select Target(s)] 至少要指定以下選項中的一項,以設置待檢測目標的URL。 -u URL,--url=URL待檢測的目標URL -i READFILE從文件讀取目標URL -d DORK將搜索引擎返回的搜索結果作為目標URL --De=DORK_ENGINE 要使用的搜索引擎 HTTP/HTTPS連接類型選擇 [Select type of HTTP/HTTPS Connection(s)] 以下選項用以指定payload註入代碼時使用的參數 -g GRTDATA 輸入待檢測的payload,使用GER方式 -p POSTDATA 輸入待檢測的payload,使用POST方式 --c Cw=CRAWLER_WIDTH 爬取的深度:1-5 --Cl 僅爬取local targets的URL 請求選項 [Configure Request(s)] 以下選項用以指定如何連接到目標的payload。可多選: --cookie=COOKIE 自定義Cookie --user-agent=AGENT 自定義User-Agent --referer=REFERER 自定義Referer --headers=HEADERS 額外的HTTP頭信息,使用換行分隔 --auth-type=ATYPE HTTP 身份認證類型 --auther-cred=ACRED HTTP 身份認證的憑證信息 --proxy=PROXY 使用代理 --timeout=TIMEOUT 超時時長 --delay=DELAY 每個請求之間的延遲秒數 --threads=THREADS 最大並發請求數量 --retries=RETRIES 連接超時後的重試次數 學習過程中存在的問題以及解決方案 每次打開wireshark都會彈出錯誤 試著網上提供的解決方法還是未能解決這個問題 論列表

第五周作業