按照利用方式的不同,可以把XSS漏洞大致分爲三類,如表11-3-1所示。
表11-3-1 XSS漏洞分類
類型 |
對應的Web應用 |
利用方式及危害 |
本地的XSS |
.htm 文件 .chm 文件(幫助文檔) .mht 文件 .dlls and .exe等PE文件的內部資源中也可能存在XSS |
***用戶桌面 |
無存儲的XSS |
搜索引擎,錯誤信息提示等將在頁面中顯示用戶輸入的Web應用 |
竊取cookie,更改返回頁面的內容,如XSS Reflection |
有存儲的XSS |
BBS、論壇、博客等存儲用戶數據並提供顯示的Web應用 |
XSS Worm***、Stored XSS*** |
作爲安全測試人員,除了嘗試這種基本形式的POC之外,爲了測試過濾系統的完備性,以下形式的測試用例往往可以給您一些啓發,如表11-3-2所示。
表11-3-2 XSS測試用例
XSS測試用例 |
javascript:alert('XSS'); |
JaVaScRiPt:alert('XSS') |
javascript:alert("XSS") |
alert('XSS') |
6Cert('XSS') |
javascript:alert('XSS') |
jav	ascript:alert('XSS') |
<SCRIPT>a=/XSS/ |
alert(a.source)</SCRIPT> |
<SCRIPT>alert("XSS");</SCRIPT> |
AAA<SCRIPT>alert("XSS“)</SCRIPT>AAA |
<ScRipt> alert("XSS");</SCRIPT> |
表11-3-3 字符的編碼替換
敏感字符 |
十進制編碼 |
十六進制編碼 |
HTML字符集 |
Unicode編碼 |
" |
" |
" |
" |
\u0022 |
' |
' |
' |
&apos |
\u0027 |
& |
& |
& |
& |
\u0026 |
< |
< |
< |
< |
\u003c |
> |
> |
> |
> |
\u003e |