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

发表于:2007-05-25来源:作者:点击数: 标签:
第二步:鉴别特殊的字符 什么是特殊字符?HTML定义如下:特殊字符就是那些能够影响页面显示效果的字符。依据上下文的不同,特殊字符也会有所不同。下面我们来分类看看: ● 在块级别元素所包含的内容中应考虑的特殊字符有: :当需要在属性值中引入字符实体
第二步:鉴别特殊的字符

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

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

<:引入一个标记

&:引入一个字符实体

>:结束一个标记

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


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

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

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

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

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


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

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

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

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

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


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


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

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

原文转自:http://www.ltesting.net