在各种Internet攻击行为中,通过Web方式侵入系统造成信息泄漏、数据丢失的事件非常普遍。例如,攻击者在页面表单中输入恶意内容,绕过输入检查,攻击系统。为此,Web开发者应采取有效的措施从信息采集的入口处堵截恶意内容的进入。本文将对这方面的问题进行分析,并提供几种应对方法。 问题分析 Web页面包含文本和HTML标记,它们由服务器建立,被客户端解释。HTML标记一般被服务器特殊对待。例如,“<”一般指示一个HTML标记的开始,“<P>”可以影响页面的显示格式,<Script>可以将脚本代码引入浏览器而执行。 对于静态页面,服务器可以完全控制它在客户端如何解释。但是对于动态页面,服务器就不可能完全控制它在客户端的解释行为了。这样就产生了问题:如果动态页面中包含了不可信的内容,那么无论是服务器端还是客户端,就不能保证是否会发生安全问题。 现在,几乎所有的商用Web服务器就会建立动态页面。最典型的一个例子就是我们经常要使用的搜索引擎,它接受用户的查询内容后,搜索数据库,然后将动态内容写入一个页面模板,最后显示给用户包含搜索结果的页面。这种情况下,检查动态内容是否包含了特殊字符就非常重要,例如“<”。如果包含了特殊字符,用户端的浏览器就可能将之误解为HTML标记或者引入执行程序,而不是当做文本信息显示出来。危险也就产生于此!如果不对动态页面进行特殊字符的检查,那么攻击者就有可能在交互页面的输入表单中写入些特殊字符串,从而导致输出页面执行非法行为。这种例子很多,比如我们编写一个留言簿,却不对输入内容进行特殊字符的校验,那么攻击者就有可能填写特殊字符,最终导致留言簿页面的非正常工作,例如填写一段恶意代码:死循环JavaScript脚本、重复打开窗口的JavaScript脚本。 |
正在阅读:Web恶意内容入侵分析及应对措施之一Web恶意内容入侵分析及应对措施之一
2004-02-14 09:34
出处:eNet学院
责任编辑:zwg
键盘也能翻页,试试“← →”键