DVWA是一個學習Web漏洞的很好的工具。
DVWA全程是Damn Vulnerable Web Application,還有一個跟它一樣好的工具盡在http://www.360doc.com/content/13/0614/22/11029609_292922372.shtml
下載地址:http://www.dvwa.co.uk/
安裝教程:http://www.cnblogs.com/yaochc/p/5049832.html
聲明:下面的示例都是在DVWA Security為Low時發生的。
1 Brute Force
暴力破解,由於用戶名和密碼比較簡單,又沒有驗證碼,因此很容易被暴力破解,暴力破解工具有WebCruiser/Bruter/burpsuite(收費,免費版里沒有這個功能)
WebCruiser,先請求然后被他攔截后,執行resend,然后利用bruter進行破解。
Bruter,直接進行暴力破解,當然需要配置一些參數。
burpsuite,利用burpsuite的intrude可以執行暴力破解。
經暴力破解后得到的密碼是admin/password,跟DVWA的登陸密碼是一樣的。
界面如下:
登陸的界面如下:
2 Command injection
命令注入或命令執行漏洞,原本系統要執行ping ip的命令,
如果輸入的值不是一個簡單的IP,而是127.0.0.1&&net user,那么可以看到返回值里就把系統的用戶名拿到了,如果執行的是其他命令呢,可想而知后果(忽略一堆亂碼)。
還可以注意ping http://www.baidu.com.cn || net user的寫法,這句話的意思是如果||的前面命令執行失敗則執行||后面的命令。
3 CSRF
Cross-Site Request Forgery,跨站請求偽造,也稱為One Click Attack,或者Session Riding。
是一種對網站的惡意利用。CSRF通過偽裝來自受信任用戶的請求來利用受信任的網站。
XSS與之相反,XSS利用站點內的信任用戶進行攻擊。
舉個例子
下面這幅圖片應該比較形象了,用戶瀏覽器在不知情的情況下訪問了A網站。並且A網站是可以正常訪問的,因為Cookie並沒有失效。
再舉個實際中可能發生的例子
一個網站用戶Bob可能正在瀏覽聊天論壇,而同時另一個用戶Alice也在此論壇中,並且后者剛剛發布了一個具有Bob銀行鏈接的圖片消息。設想一下,Alice編寫了一個在Bob的銀行站點上進行取款的form提交的鏈接,並將此鏈接作為圖片tag。如果Bob的銀行在cookie中保存他的授權信息,並且此cookie沒有過期,那么當Bob的瀏覽器嘗試裝載圖片時將提交這個取款form和他的cookie,這樣在沒經Bob同意的情況下便授權了這次事務。
這個例子是上面的英文版描述。改變配置、強制提交信息、取消會員等危害。
CSRF是一種依賴web瀏覽器的、被混淆過的代理人攻擊(deputy attack)
CSRF攻擊依賴下面的假定:1 攻擊者了解受害者所在的站點2 攻擊者的目標站點具有持久化授權cookie或者受害者具有當前會話cookie3 目標站點沒有對用戶在網站行為的第二授權
3 CSRF
3.1 安全級別為低
可以看到沒有要求輸入原密碼,只要新密碼是一致的就可以修改密碼,這很不安全,當然現實中很少有這么傻的。
3.2 安全級別為中
界面同安全級別為低時,依然只要求輸入新密碼。
增加了判斷SERVER_NAME和HTTP_REFERER,有個毛線用,依然可以輕松修改。干嘛要判斷這兩個值相等呢?
3.3 安全級別為高
界面同安全級別為低時,依然只要求輸入新密碼。
首先判斷請求中的user_token和Session中的session_token是否有值,依然沒毛線用,依然可以輕松修改,干嘛要判斷這兩個值相等呢?
3.4 安全級別為不可攻破時
首先判斷老密碼,這就沒轍了。
4 File Inclusion
一些Web站點允許用戶輸入時指定文件流或允許用戶上傳文件到服務器。一段時間后web程序訪問用戶提供的文件。這樣,web程序就會執行惡意程序。
如果文件在本地叫做Local File Inclusion(LFI),文件在其他主機上的攻擊叫做Remote File Inclusion(RFI)。
注意:file inclusion(文件包含)與arbitrary file access(任務文件訪問)或file disclosure(文件泄露)不同。
low
5 File Upload
文件上傳對web程序來說是一個重大的威脅,攻擊的第一步就是將代碼上傳到攻擊系統。然后黑客只需要找個合適的方式去執行代碼。文件上傳功能幫助攻擊者實現了第一步。
上傳未受限的文件造成的結果是多樣的,包括掌握系統、使文件系統超過負荷、攻擊后端系統、簡單的銷毀數據等。這取決於程序對文件的操作和文件是如何存儲的。
6 Insecure CAPTCHA
7 SQL Injection
SQL注入攻擊,從客戶端輸入一個SQL查詢到程序,成功的利用SQL注入可以從數據庫中讀敏感數據,更改數據庫,執行數據庫的管理員權限。
8 SQL Injection(Blind)
9 XSS(Reflected)
10 XSS(Stored)
文中的描述都是來自:http://wenku.it168.com/d_001292817.shtml