xss
XSS全称:跨站脚本(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS。
攻击者会向web页面(input表单、URL、留言版等位置)插入恶意JavaScript代码,导致管理员/用户访问时触发,从而达到攻击者的目的。
xss攻击
- 绕过XSS-Filter,利用<>标签注入Html/JavaScript代码;
- 利用HTML标签的属性值进行xss攻击。例如:< img src=“javascript:alert(‘xss’)”/>;
- 空格、回车和Tab。如果XSS Filter仅仅将敏感的输入字符列入黑名单,比如javascript,用户可以利用空格、回车和Tab键来绕过过滤,例如:<img src=“javas cript:alert(/xss/);”/>;
- 利用事件来执行跨站脚本。例如:<img src="#" “alert(1)"/>,当src错误的视乎就会执行onerror事件;
- 利用CSS跨站。例如:Body {backgrund-image: url(“javascript:alert(‘xss’)”)};
- 扰乱过滤规则。例如:<IMG SRC=“javaSCript: alert(/xss/);”/>;
- 利用字符编码,透过这种技巧,不仅能让XSS代码绕过服务端的过滤,还能更好地隐藏Shellcode;(JS支持unicode、eacapes、十六进制、十进制等编码形式)
- 拆分跨站法,将xss攻击的代码拆分开来,适用于应用程序没有过滤 XSS关键字符(如<、>)却对输入字符长度有限制的情况下;
xss类型
-
反射型
攻击者通过input表单或URL向web页面中插入恶意的JavaScript代码,当web接收到攻击者恶意的JavaScript代码即会执行JavaScript代码。(一次性,经过后端,不经过数据库) -
存储型XS