Web恶意内容入侵分析及应对措施之二
发表于:2007-05-25来源:作者:点击数:
标签:
第二步:鉴别特殊的字符 什么是特殊字符?HTML定义如下:特殊字符就是那些能够影响页面显示效果的字符。依据上下文的不同,特殊字符也会有所不同。下面我们来分类看看: ● 在块级别元素所包含的内容中应考虑的特殊字符有: :当需要在属性值中引入字符实体
第二步:鉴别特殊的字符
什么是特殊字符?HTML定义如下:特殊字符就是那些能够影响页面显示效果的字符。依据上下文的不同,特殊字符也会有所不同。下面我们来分类看看:
● 在块级别元素所包含的内容中应考虑的特殊字符有:
<:引入一个标记
&:引入一个字符实体
>:结束一个标记
● 在属性值中应考虑的特殊字符有:
":在以双引号包裹属性值的情况下,"标记了属性值的结尾。
':在以单引号包裹属性值的情况下,'标记了属性值的结尾。
空白字符:在属性值没有被任何引号包裹的情况下,空白字符标记了属性值的结尾,比如空格、tab。
&:当需要在属性值中引入字符实体时,就需要使用&。
● 搜索引擎系统会在搜索结果页面中包含一个再次运行搜索的链接,这个链接中会包含编码过的搜索查询字符串。这种情况下应考虑的特殊字符有:
空格、tab以及换行符:它们标记了URL的结尾。
&:它标记一个字符实体,或者一个独立的CGI参数。
非ASCII字符:就是ISO-8859-1编码中ASCII码大于128的字符,它们不允许在URL中使用。
%:无论
服务器对由escape编码的HTTP参数如何解码,都必须过滤出字符%。
● 在 之间的内容中应考虑的特殊字符有:分号,圆括号,大括号以及换行符。
● 在服务器端脚本中应考虑的特殊字符有:!
● 其他情况下应考虑的特殊字符有:=。但注意,现有的攻击事件还没有利用过这个字符,但作为一个全面考虑,这里还是列出来。
另外,我们还要重视一种情况:其他附加字符也可能包含在特殊字符列表中。总之,Web
开发者必须对应用程序的输入内容进行检查,以确定哪些字符会影响程序的执行。
原文转自:http://www.ltesting.net
|