Web恶意内容入侵分析及应对措施之二

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

第二步:鉴别特殊的字符

什么是特殊字符?HTML定义如下:特殊字符就是那些能够影响页面显示效果的字符。依据上下文的不同,特殊字符也会有所不同。下面我们来分类看看:

● 在块级别元素所包含的内容中应考虑的特殊字符有:

<:引入一个标记

&:引入一个字符实体

>:结束一个标记

● 在属性值中应考虑的特殊字符有:

":在以双引号包裹属性值的情况下,"标记了属性值的结尾。

':在以单引号包裹属性值的情况下,'标记了属性值的结尾。

空白字符:在属性值没有被任何引号包裹的情况下,空白字符标记了属性值的结尾,比如空格、tab。

&:当需要在属性值中引入字符实体时,就需要使用&。

● 搜索引擎系统会在搜索结果页面中包含一个再次运行搜索的链接,这个链接中会包含编码过的搜索查询字符串。这种情况下应考虑的特殊字符有:

空格、tab以及换行符:它们标记了URL的结尾。

&:它标记一个字符实体,或者一个独立的CGI参数。

非ASCII字符:就是ISO-8859-1编码中ASCII码大于128的字符,它们不允许在URL中使用。

%:无论服务器对由escape编码的HTTP参数如何解码,都必须过滤出字符%。

● 在 之间的内容中应考虑的特殊字符有:分号,圆括号,大括号以及换行符。

● 在服务器端脚本中应考虑的特殊字符有:!

● 其他情况下应考虑的特殊字符有:=。但注意,现有的攻击事件还没有利用过这个字符,但作为一个全面考虑,这里还是列出来。

另外,我们还要重视一种情况:其他附加字符也可能包含在特殊字符列表中。总之,Web开发者必须对应用程序的输入内容进行检查,以确定哪些字符会影响程序的执行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航