XSS攻击防御技术白皮书
2008-08-19 16:48:13 来源:WEB开发网类型A直接威胁用户个体,而类型B和类型C所威胁的对象都是企业级Web应用,目前天清入侵防御产品所能防范的XSS攻击包括类型B和类型C。
2、XSS攻击防御
基于特征的防御
XSS漏洞和著名的SQL注入漏洞一样,都是利用了Web页面的编写不完善,所以每一个漏洞所利用和针对的弱点都不尽相同。这就给XSS漏洞防御带来了困难:不可能以单一特征来概括所有XSS攻击。
传统XSS防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。如, 对于这种类型的XSS攻击,采用的模式匹配方法一般会需要对“javascript”这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS攻击。这种检测方法的缺陷显而易见:骇客可以通过插入字符或完全编码的方式躲避检测:
躲避方法1)在javascript中加入多个tab键,得到
<IMGSRC="javascript:alert('XSS');">
躲避方法2) 在javascript中加入 编码字符,得到
<IMGSRC="jav ascript:alert('XSS');">
躲避方法3) 在javascript中加入字符,得到
<IMGSRC="jav
ascript:alert('XSS');">
躲避方法4)在javascript中的每个字符间加入回车换行符,得到
<IMGSRC="jrnarnvrnrnarnsrncrnrrnirnprntrn:alert('XSS');">
躲避方法5)对"javascript:alert('XSS')"采用完全编码,得到
<IMGSRC=javascript:alert('XSS')>
上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的还存在大量的误报可能:在上面的例子中,对"http://www.xxx.com/javascript/kkk.asp?id=2345"这样一个URL,由于包含了关键字“javascript”,也将会触发报警。
更多精彩
赞助商链接