著做權歸做者全部。
商業轉載請聯繫做者得到受權,非商業轉載請註明出處。
做者:周知日
連接:http://www.zhihu.com/question/24740239/answer/28872069
來源:知乎
DVWA: Damn Vulerable Web Application
DVWA - Damn Vulnerable Web Application
基於 php 和 mysql 的虛擬 Web 應用,「內置」常見的 Web 漏洞,如 SQL 注入、xss 之類,能夠搭建在本身的電腦上,隨便黑不犯法。搭建環境也很簡單,下一個 XAMPP 包裝上就差很少能用了。
另外能夠翻烏雲(
WooYun.org | 自由平等開放的漏洞報告平臺)和 sebug(
http://sebug)上關於開源 Web 應用的歷史公開漏洞,找一下對應的版本(通常不難找,歷史過久遠的可能就麻煩點),在本身機器上搭建環境,嘗試去重現。
其實你會發現搭建「靶場」這個工做相對拿現有的漏洞去復現要麻煩上許多,甚至有時候要安裝對應的軟件甚至操做系統(在虛擬機裏)。但搭建自己也是學習 Web 應用知識和網站加固的一個很是好的途徑。
DVWA-WooYun(烏雲靶場)
烏雲上剛發佈的測試版,第一時間搬運過來。
免安裝在線使用:
DVWA Wooyun edition
原帖地址(需烏雲帳號):
DVWA-WooYun(烏雲靶場)開源漏洞模擬項目 測試版公佈!
DVWA-WooYun是一個基於DVWA的PHP+Mysql漏洞模擬練習環境,經過將烏雲主站上的有趣漏洞報告建模,以插件形式復現給使用該軟件的帽子們,可讓烏雲帽子們得到讀報告體驗不到的真實感,在實踐的過程當中能夠無縫隙地深刻理解漏洞的原理及利用方式
中英雙字,若是您語文學的很差沒必要擔憂了,界面提示英文的(DVWA原廠),內容提示中英雙字(後來以爲比較眼花,因此去掉了部分英文)
開放源文件(遵照GPL),有源碼有真相:
DVWA-WooYun-edition
百度雲 請輸入提取密碼 xtr8
做者
lxj616
Metasploitable
著名的滲透框架 Metasploit 出品方 rapid7 還提供了配置好的環境 Metasploitable,是一個打包好的操做系統虛擬機鏡像,使用 VMWare 的格式。可使用 VMWare Workstation(也能夠用免費精簡版的 VMWare Player )「開機」運行。
下載請戳:
Download Metasploitable
若是你不喜歡填我的信息,或者這還有個下載地址?
http://downloads.metasploit.com/data/metasploitable/metasploitable-linux-2.0.0.zip
這是基於 Ubuntu 系統修改定製的虛擬機鏡像,內置了許多可攻擊(metasploitable!)的應用程序,好比在 Web 應用方面預裝了以下平臺:
- mutillidae (NOWASP Mutillidae 2.1.19)
- dvwa (Damn Vulnerable Web Application)
- phpMyAdmin
- tikiwiki (TWiki)
- tikiwiki-old
- dav (WebDav)
系統軟件的漏洞(二進制漏洞)也是存在的,能夠完成從 Web 到提權的一整套練習。並且已經內置了常見的 Web 環境如 php + mysql,其餘的網站應用一樣能夠嘗試在上面自行搭建。
Metasploitable 的官方英文手冊:
Metasploitable 2 Exploitability Guide
也能夠參考這篇譯文:
Metasploitable 2 漏洞演練系統使用指南(上)_91Ri.org
Metasploitable 2 漏洞演練系統使用指南(下)_91Ri.org
OWASP Broken Web Applications Project
https://code.google.com/p/owaspbwa/
跟 Metasploitable 相似,這也是打包好的虛擬機鏡像,預裝了許多帶有漏洞的 Web 應用,有真實世界裏的流行網站應用如 Joomla, WordPress 等的歷史版本(帶公開漏洞),也有 WebGoat, DVWA 等專門用於漏洞測試的模擬環境。
官方的使用說明:
https://code.google.com/p/owaspbwa/wiki/UserGuide
演示視頻(需梯):
OWASP Broken Web Applications VM
XCTF_OJ 練習平臺php
http://oj.xctf.org.cn/
html
XCTF-OJ (X Capture The Flag Online Judge)是由 XCTF 組委會組織開發並面向 XCTF 聯賽參賽者提供的網絡安全技術對抗賽練習平臺。mysql
XCTF-OJ 平臺將聚集國內外 CTF 網絡安全競賽的真題題庫,並支持對部分可獲取在線題目交互環境的重現恢復,XCTF 聯賽後續賽事在賽後也會把賽題離線文件和在線交互環境彙總至 XCTF-OJ 平臺,造成目前全球 CTF 社區惟一一個提供賽題重現覆盤練習環境的站點資源。linux
網絡信息安全攻防學習平臺
http://hackinglab.cn/main.php
提供基礎知識考查、漏洞實戰演練、教程等資料。實戰演練以 Web 題爲主,包含基礎關、腳本關、注入關、上傳關、解密關、綜合關等。
PentesterLab 練習環境
[PentesterLab] Our exercises
這裏面列出的全都是能夠直接用虛擬機軟件打開的,配置完整的靶場環境。應該是出於版權考慮沒有 Windows 的系統鏡像,不過覆蓋的漏洞也很多,如:
Shellshock
[PentesterLab] CVE-2014-6271/Shellshock
XML 實體注入
[PentesterLab] Play XML Entities
會話注入
[PentesterLab] Play Session Injection
從 SQL 注入到 shell
[PentesterLab] From SQL Injection to Shell
PHP 文件包含和高級利用
[PentesterLab] PHP Include And Post Exploitation
安裝方法是,本地配置一個虛擬機,內存參數能夠配的很低,就算有特別說明(注意下載頁面)也是要求到 512M。爲這個虛擬機添加虛擬光驅做爲引導設備,光盤鏡像的路徑就設置成你下載的靶機 ISO 文件。啓動以後點 LIVE CD 直接用,或者安裝到虛擬機硬盤裏均可以。
PWNABLE.KR
以上都是網頁服務器安全相關的靶場,再推薦一個練習二進制 pwn 的網站:
Pwnable.kr
pwnable 這類題目在國外 CTF 較爲多見,一般會搭建一個有漏洞(如緩衝區溢出等)的 telnet 服務,給出這個服務後端的二進制可執行文件讓答題者逆向,簡單一點的會直接給源代碼,找出漏洞並編寫利用程序後直接攻下目標服務得到答案。
這個網站裏由簡到難列出了許多關卡,如今就上手試試吧。
自行搭建虛擬機
自行搭建 Windows 環境也並非太麻煩,由於安裝程序都是圖形化界面,並且這些老系統上的軟件一般都比較可靠。你所須要的就是不停點下一步和看進度條的耐心……
在這個網站你能夠找到微軟系的幾乎全部操做系統、服務器工具(如 SQLServer)的
原汁原味版安裝鏡像:
MSDN, 我告訴你
系統方面不用說天然推薦Windows XP 和 2003,他們目前的使用率仍是至關可觀的,既容易上手也具有實戰價值,不乏 MS08-067 之類的教科書級漏洞。
軟件方面推薦一些較爲容易攻擊和提權環境:
- IIS 6:Windows 2003 默認啓用,XP 下須要在「添加和刪除 Windows 組件」裏安裝。它有經典的分號文件名解析漏洞,配合許多網頁程序編輯模板、生成靜態 HTML、上傳文件等的漏洞,拿 shell 比較方便。更高版本的 IIS 也有解析漏洞,不過沒有這一版這麼爽。
- XAMPP(XAMPP Installers and Downloads for Apache Friends):安裝時將 Apache 設置爲系統服務,這樣將以 SYSTEM 權限運行,你在 getshell 以後能夠一步到位拿到管理員權限。
- SQL Server < 2005:之因此要低於 2005 是由於在這個版本中默認禁用了大夥喜聞樂見的 xp_cmdshell。
- 一些低版本的第三方 FTP 服務器,如 Serv-U,而後點開右邊:Serv-U_漏洞 。
- MySQL:各個版本有本身的特色,如 INFORMATION_SCHEMA 在 5.x 才引入,對脫庫很是有用,省去跑表名的精力;而像 load_file、UDF 提權之類的利用也因版本而異,展開說篇幅就長了,請參考網上相關教程。
- CCProxy:能夠在內網搞一些初級的端口轉發(真實滲透呢,通常是不會用動靜這麼大的軟件的……),這個軟件自己低版本也存在遠程代碼執行漏洞。
我相信會花時間看我這個答案的都是初學者,因此記得安裝以後不要給系統打補丁,也不要動輒嘗試 Windows 2008 之類比較新的系統,不然可能會一無所獲。
一些細節
直接安裝上面的虛擬機以後,你就擁有了一個虛擬的服務器,能夠對它任意地糟蹋、練習攻防技術而沒必要有法律上的顧慮。萬一不當心搞壞了環境,還可使用虛擬機自帶的快照功能瞬間恢復原狀。
可是安裝了虛擬機鏡像以後僅僅是得到了一個服務器環境,能夠用做對應平臺腳本或者二進制漏洞的研究。對於須要玩真格的練習,好比要達到奪旗賽的效果,還得設計網絡拓撲。你想上面的環境均可以直連 mysql 等數據庫,可能一個弱密碼就進去了,多沒意思。一個完整的滲透過程不只牽涉到漏洞的利用,還會有進入內網的要求。這時候就須要一些代理或者端口轉發工具來實現從「外網」到「核心目標」的訪問。
真實世界裏的網絡通常會有
DMZ 等區域的劃分,還會具備網關、路由等。這些環境可使用多個虛擬機同時運行進行模擬,同時利用 VMWare 等虛擬機軟件自帶的網絡編輯器功能進行配置。對於通常的筆記本,同時帶上兩個虛擬機真的是很吃力的。因此要玩真格的話,還得多配置幾臺物理上的真機,或者用成本相對低廉的嵌入式機器如樹莓派,甚至是刷了 OpenWRT 的路由器。