论坛数据统计           欢迎到【弱电论坛】来学习和讨论问题!

弱电工程项目管理软件 报价之星软件--智能弱电系统专业软件
★电工电气产品供求、电气展会、人才、电气技术文章、图库、电气技术论坛等相关内容,请跳转至【电气工程网】--- 可直接使用本站会员名和密码登陆!(首次使用需要激活账户)
标王 热搜: 网络监控  楼宇对讲  弱电  机房及机柜内部的理线方法  ar800-hn  CAD  门禁  综合布线  工资  面板 
 
当前位置: 首页 » 技术文章 » 电脑技术 » 病毒防治 » 正文

多见的ASP脚本攻击及防备技巧

放大字体  缩小字体 发布日期:2009-06-14  来源:互联网  作者:manage  浏览次数:256
核心提示:  由于ASP的方便易用,越来越多的站点后台程序都运用ASP脚本语言。但是,由于ASP本身存在一些安全漏洞,稍不注意就会给黑客提供可乘之机。事实上,安全不仅是网管的事,编程人员也必须在某些安全细节上留心,养成良好的安全习惯,否则会给自己的站点带来巨大的安全隐患

  由于ASP的方便易用,越来越多的站点后台程序都运用 ASP脚本语言。但是, 由于ASP本身存在一些安全漏洞,稍不注意就会给黑客提供可乘之机。事实上,安全不仅是网管的事,编程人员也必须在某些安全细节上留心,养成良好的安全习惯,否则会给自己的站点带来巨大的安全隐患。目前,大多数站点上的ASP程序有这样那样的安全漏洞,但如果编写程序的时候留心一点的话,还是可以防止的。
  1、用户名与口令被破解
  攻击原理:用户名与口令,往往是黑客们最感兴趣的东西,如果被通过某种形式看到源代码,后果是严重的。
  防备技巧:涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下只给它以执行存储流程的权限,千万不要直接给予该用户修改、插入、删除记录的权限。
  2、验证被绕过
  攻击原理:现在须要经过验证的ASP程序大多是在页面头部加一个判断语句,但这还不够,有可能被黑客绕过验证直接进入。
  防备技巧:须要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从上一页面转进来的会话才能读取这个页面。
  3、inc文件泄露疑问
  攻击原理:当存在ASP的主页正在打造且没有执行 最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人运用 搜索引擎对这些网页执行 查找,会得到有关文件的定位,并能在阅读器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。
  防备技巧:程序员应该在网页揭晓前对它执行 彻底的调试;安全专家则须要加固ASP文件以便外部的用户不能看到它们。首先对.inc文件内容执行 加密,其次也可以运用 .asp文件代替.inc文件运用户不能从阅读器直接观看文件的源代码。inc文件的文件名不要运用系统默认的或者有特殊意思容易被用户猜测到的名称,尽量运用无准则的英文字母。 
  4、自动备份被下载
  攻击原理:在有些编辑ASP程序的工具中,当建立或者修改一个ASP文件时,编辑器自动建立一个备份文件,比如:UltraEdit就会备份一个.bak文件,如你建立或者修改了some.asp,编辑器会自动生成一个叫some.asp.bak文件,如果你没有删除这个bak文件,攻击者可以直接下载some.asp.bak文件,这样some.asp的源程序就会被下载。
  防备技巧:上传程序之前要仔细检查,删除不必要的文档。对以BAK为后缀的文件要特别注意。
  5、特殊字符
  攻击原理:输入框是黑客运用 的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输入框涉及数据查询,他们会运用 特殊查询语句,得到更多的数据库数据,甚至表的全部。因此必须对输入框执行 过滤。但如果为了提高效率仅在客户端执行 输入正当性检查,仍有可能被绕过。
  防备技巧:在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符的长度执行限定。而且不但要在客户端执行 输入正当性检查,同时要在服务器端程序中执行 类似检查。
  6、数据库下载漏洞
  攻击原理:在用Access做后台数据库时,如果有人通过各种要领知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他也可以够下载这个Access数据库文件,这是非常危险的。
  防备技巧: 
 (1)为你的数据库文件名称起个复杂的非常规的名字,并把它放在几层目录下。所谓 “非常规”, 打个比方说,比如有个数据库要保存的是有关书籍的信息, 可不要给它起个“book.mdb”的名字,而要起个怪怪的名称,比如d34ksfslf.mdb, 并把它放在如./kdslf/i44/studi/的几层目录下,这样黑客要想通过猜的形式得到你的Access数据库文件就难上加难了。
 (2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:   DBPath = Server.MapPath(“cmddb.mdb”)  conn.Open “driver={Microsoft Access Driver (*.mdb)};dbq=” & DBPath 假如万一给人拿到了源程序,你的Access数据库的名字就一览无余了。因此建议你在ODBC里配置数据源,再在程序中这样写:  conn.open“shujiyuan”
  (3)运用 Access来为数据库文件编码及加密。首先在“工具→安全→加密/解密数据库”中选取数据库(如:employer.mdb),然后按确定,接着会出现“数据库加密后另存为”的窗口,可存为:“employer1.mdb”。
  要留心的是,以上的动作并不是对数据库配置密码,而只是对数据库文件加以编码,目的是为了防止 他人运用别的工具来查看数据库文件的内容。
  接下来我们为数据库加密,首先打开经过编码了的 employer1.mdb,在打开时,选择“独占”形式。然后选取功能表的“工具→安全→配置数据库密码”,接着输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他也是不能看到 employer1.mdb中的内容。 
 
 
 
[ 技术文章搜索 ]  [ 加入收藏 ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]

 
0条 [查看全部]  相关评论

 
推荐图文
推荐技术文章
点击排行
 
 



弱电网、电气网合并

 
弱电基础 | 常用软件 | 信息发布规则 | 积分规则 | VIP会员注册 | 广告投放 | 弱电培训 | 联系我们 | 版权声明 | 帮助中心 | 网站地图 | 排名推广 | 苏ICP备14010056号 | RSS订阅
★本站手机app客户端已上线! 点击下载