asp中防止xss攻击的方法如下:
确保所有输出内容都经过 HTML 编码。
禁止用户提供的文本进入任何 HTML 元素属性字符串。
根据 msdn.microsoft.com/library/3yekbd5b 中的概述,检查 Request.Browser,以阻止应用程序使用 Internet Explorer 6。
了解控件的行为以及其输出是否经过 HTML 编码。如果未经过 HTML 编码,则对进入控件的数据进行编码。
使用 Microsoft 防跨站点脚本库 (AntiXSS) 并将其设置为您的默认 HTML 编码器。
在将 HTML 数据保存到数据库之前,使用 AntiXSS Sanitizer 对象(该库是一个单独的下载文件,将在下文中介绍)调用 GetSafeHtml 或 GetSafeHtmlFragment;不要在保存数据之前对数据进行编码。
对于 Web 窗体,不要在网页中设置 EnableRequestValidation=false。遗憾的是,Web 上的大多数用户组文章都建议在出现错误时禁用该设置。该设置的存在是有原因的,例如,如果向服务器发送回“<X”之类的字符组合,该设置将阻止请求。如果您的控件将 HTML 发送回服务器并收到图 5 所示的错误,那么理想情况下,您应该在将数据发布到服务器之前对数据进行编码。这是 WYSIWYG 控件的常见情形,现今的大多数版本都会在将其 HTML 数据发布回服务器之前对该数据进行正确编码。
对于 ASP.NET MVC 3 应用程序,当您需要将 HTML 发布回模型时,不要使用 ValidateInput(false) 来关闭请求验证。只需向模型属性中添加 [AllowHtml] 即可,如下所示:public class BlogEntry
{
public int UserId {getset}
[AllowHtml]
public string BlogText {getset}
}
预备知识:ASP编程ASP木马入侵原理要预防木马的入侵,就要先了解入侵的原理。想通过ASP木马入侵,必须先将木马上传到目标空间,然后直接在客户端浏览器里面运行木马,接着就可以进行文件修改、目录删除等等具有破坏性的工作。黑客入侵ASP网站一般使用两种方式:第一种是上传木马后,利用木马以及操作系统漏洞在Windows启动项里添加一个批处理文件,用来添加管理员账号,然后用管理员账号停止防火墙运行和进行文件修改删除等操作。第二种是上传木马后,直接通过木马删除网站里面的目录和文件。找准关键对症下药通过分析可以发现,我们提到的两种入侵方式都是利用ASP网站的上传功能,先上传木马,然后借助木马对文件进行修改删除等操作。简单说来,要做的第一步就是阻止ASP文件的上传;其次,如果被上传了ASP木马,就要杜绝木马的运行。ASP木马本身就是个ASP文件。所以很关键的一点是限制ASP文件的上传。一般ASP网站本身就有文件上传功能,并且默认是限制了ASP文件的上传,不过黑客能够想方设法上传他们的木马文件。安全与便捷并行要防患于未然,一些前期工作必须先做好。首先就是养成及时备份的习惯;其次,如果你的网站采用ACCESS数据库,那么要保证你网站的主数据库不能以MDB为扩展名,将扩展名改成ASP,这样可以防止黑客直接下载到网站数据库并猜解网站管理员密码;第三,网站管理员密码位数推荐超过12位。限制ASP执行权限虽然无法通过杀毒软件查杀ASP木马,但可以采取其他方法进行有效防范。就知名的动易网站管理系统或者动网论坛来说,默认是允许注册用户上传文件的。黑客可以利用工具将ASP木马伪装后上传至服务器。关键就在于他们上传文件所存放的目录是固定的,具体说就是通过网站上传的文件只会出现在我们ASP网站程序所指定的目录下。如果要完全限制网站注册用户上传文件的权限是不现实的。所以,我们能做的第一步,就是禁止ASP文件在此目录的执行权限。目的就是让上传来的ASP木马无法执行。具体方法如下:打开IIS,右键点击网站里面供上传的目录,点击属性,我们可以看到属性窗口;将此目录的"执行权限"设置成"无";用同样的方法,再将存放数据库的文件夹以及其余几个可供用户上传文件的文件夹的"执行权限"全都设置成"无"。服务器上的安全设置即使限制了上传目录的ASP的执行权限,但也无法保证服务器的绝对安全。所以,服务器上面也要进行一些设置。服务器操作系统以Windows 2003为例,首先当然是要将磁盘转为NTFS格式。其次,可以将默认的Administrator改名,并设置足够位数的密码(推荐12位以上)。为了欺骗黑客,还可以另外建一个名为Administrator的账号,并设置密码,赋予最低权限。在Windows 2003操作系统里面设置相应文件夹的权限。由于网站做好后一般一段时间都不会随便对源代码进行修改,所以可以对不需要进行修改的地方设置只读权限,仅开放几个上传的文件夹的可写权限。对系统默认的Everyone的权限进行限制,拒绝Everyone的删除以及修改权限。仅在我们需要对网站进行修改的时候,才暂时将此限制去掉。具体操作过程如下:对存放网站的文件夹点击右键,点击"共享和安全";在安全选项卡上,可以看到属性窗口;为限制Everyone的权限,点击下面的高级按钮;在弹出的"高级安全设置"对话框中的"权限"选项卡上,点击"添加";在"选择用户或组"底下的框中输入名称"Everyone",再点击"确定";在出现的对话框中勾选"创建文件/写入数据"、"创建文件夹/附加数据"、"删除子文件夹及文件"、"删除"、"更改权限"的拒绝权限,并设置将它应用到"该文件夹及文件"。同样的方法,再对网站里面的各个子文件夹进行设置,拒绝一些网管对不需要修改的文件夹的更改、写入数据等权限。要注意的是,供网站用户上传文件的文件夹,要保留其写入的权限。由于Windows的用户组权限是拒绝优先,所以设置好后要测试,供上传的文件夹不能限制其写入权限。 我们做好了这些权限的设置之后,可以自己试着对网站的文件或者文件夹进行改名、删除等操作,看看是否会提示拒绝访问或者没有这个权限。ASP网站是很容易被人家破解后台管理账户密码,或者利用你的网站漏洞,从而植入大量的垃圾网页,最好的预防就是防止网站出现漏洞,后台地址,账户密码设置复杂一点。最好找专业的人做网站,不要去购买网站模板,网站模板很多都带有后门。会让你容易受到攻击的。垃圾网站让你删都删不完!欢迎分享,转载请注明来源:夏雨云
评论列表(0条)