## 2018-2019 20165118 《網絡對抗技術》Exp9 Web安全基礎html
本實踐的目標理解經常使用網絡攻擊技術的基本原理,作很多於7個題目,共3.5分。包括(SQL,XSS,CSRF)。Webgoat實踐下相關實驗。java
java -jar webgoat-container-7.0.1-war-exec.jar
運行Webgoathttp://localhost:8080/WebGoat
進入WebGoat登陸界面,默認用戶名密碼guest登陸目嘗試輸入Smith,發現查詢出來都是last_name是Smith的表單,分析後知道是須要WHERE這個條件語句失效,所以構造一個用真式'or 1='1 。
web
由於咱們輸入的用戶名會被追加到日誌文件中。因此咱們可使用障眼法來使用戶名爲「admin」的用戶在日誌中顯示「成功登陸」,例如在User Name文本框中輸入%0d%0aLogin succeeded !admin ,其中%0d是回車,%0a是換行符,結果就像登陸成功同樣。
sql
字符串型注入,要求使用SQL注入繞過認證,實現無密碼登錄。數據庫
在密碼欄輸入' or 1 = 1 -- ,發現輸入錯誤:
瀏覽器
把長度限定改成15,把文本框格式改成text,再次輸入' or 1 = 1 --,成功。
安全
數字型注入,要求使用一個普通員工的帳戶,瀏覽其BOSS的帳戶信息。
首先經過Larry的帳戶登錄(密碼爲larry),更改登陸後頁面源代碼value值爲112 or 1=1 order by salary desc 。
服務器
點擊ViewProfile查看信息:
cookie
使用盲注方式,輸入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 2500),顯示不合法:
網絡
再次輸入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 2300)顯示合法:
最後試出來值爲2364,成功。
關於一個頁面中存在XSS漏洞時,它如何支持釣魚攻擊。
在文本框裏面寫一個釣魚網站代碼就能夠了,這裏我參考了其餘同窗的代碼,將代碼粘過去後登陸,成功。
題目要求:要建立非法的消息內容,能夠致使其餘用戶訪問時載入非預期的頁面或內容。
直接在title裏隨便輸入,而後在message中輸入一串代碼,好比: 提交後,再次點擊剛剛建立的帖子,成功彈出窗口,說明攻擊成功。
將帶有攻擊性的URL做爲輸入源,好比 ,就會彈出對話框:
題目要求:須要寫一個URL誘使其餘用戶點擊,從而觸發CSRF攻擊。
在message裏面輸入,就會發出一個轉錢的請求,盜取錢財。
提交後,會在消息列表中看到一個新的消息,點擊該消息,當前頁面就會下載這個消息並顯示出來,轉走用戶的錢,達到CSRF攻擊的目的。
這個就是利用CSRF進行冒名操做轉帳,不過此次包括了兩個請求,一是轉帳請求,二是確認轉帳成功請求,即須要額外傳遞兩個參數給服務器(transferFunds=5000,transferFunds=CONFIRM)。直接在message中寫入攻擊代碼,而後提交:
(1)SQL注入攻擊原理,如何防護
(2)XSS攻擊的原理,如何防護
(3)CSRF攻擊原理,如何防護
在之後在設計網站的時候必定要謹慎,針對這些攻擊作出相應的防範措施,提升網絡的安全性。