|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 > 电子商务系统安全设计 > 安全措施设计 >
|
相关知识点:6个
|
|
|
|
脚本攻击是指将恶意的字符插入到网页中来,浏览器无法验证这些插入的字符,并且会将它们作为网页的一部分进行处理。
|
|
|
从浏览器的角度来看,网页只是一个长的字符串,浏览器会按照顺序处理这个字符串,在此过程中,会显示某些字符,同时按照某些规则解释其他字符。如果恶意用户将某些特殊字符插入到网页中来,则浏览器不知道这些特殊字符不应该处于该位置,而将它们作为页面的一部分进行处理。
|
|
|
假如现在用户在TextBox中输入恶意代码如:,我们单击一个按钮在Lable控件上显示用户输入的内容,单击按钮就会弹出一个提示框,这种情况被称为脚本攻击。
|
|
|
这些攻击可以窃取用户的信息或传播病毒等,其威胁也是非常大的,一般来说,脚本攻击分为两类。
|
|
|
|
此类攻击例如弹出警告框、加入HTML标记等,由于程序上过滤的不严密,使攻击者可以植入这些安全威胁小的非法脚本代码。
|
|
|
|
这类脚本攻击已经过渡到可以窃取管理员或者是其他用户信息的程度上了。例如cookies窃取,利用脚本对客户端进行本地的写操作等。
|
|
|
在ASP.NET中,防范脚本攻击的措施是对脚本进行过滤,可以使用Server.HtmlEncode()方法对输入的字符串进行HTML编码,使用户输入的字符串起不到脚本的作用。但有些时候,用户正常输入了一些敏感字符,例如“>”等,如果全部采用Server. HtmlEncode()方法进行编码,就无法实现用户的正常需求了,为了方便的过滤,一般只需要将HTML脚本和JS脚本中的几个关键字符过滤掉就可以了,过滤的程序如下:
|
|
|
|
用户的输入使用该方法进行过滤,屏蔽了那些可能会产生脚本攻击的特殊字符,当然,程序员也可以根据需要增减要替换的字符,以满足安全需要。
|
|
|