网站漏洞及防范 ASP 网站漏洞及防范
[摘要] 目前浏阳的很多都建立了自己的网站,但都是基于 ASP 和 摘要] Access 的,很多的网站是直接从网上下载的,有着很多网站的注入通病. [关键词] 浏阳 网站 数据库 攻击 关键词 由于 ASP 的方便易用,越来越多的网站后台程序都使用 ASP 脚本语言.但是, 由于 ASP 本身存在一些安全漏洞,稍不小心就会给攻击者提供可乘之机.目前 ASP+ACCESS 网站的主要安全隐患来自 Access 数据库的安全性,其次在于 ASP 网 页设计过程中的安全漏洞,也就是没有把很多关键词进行过滤. 漏洞解析 一, 漏洞解析 1, 用户名与口令被破解 用户名与口令,往往是攻击者们最感兴趣的东西,如果被通过某种方式看到 源代码,后果是严重的,我们的网站很快就会被攻击者占据. 2, ASP 木马有些网站允许用户上传文件,但必需对这些上传文件十分小心, 为什么论坛程序被攻破后主机也随之被攻击者占据.原因就在于可能存在 ASP 木马,它能把一个文件随便放到你论坛的程序中,进而整个网站被攻击者占据. 3, inc 文件泄露
问题 当存在 ASP 的主页正在制作且没有进行最后调试完成以前,可以被某些搜索 引擎机动追加为
搜索对象.如果这时候有人利用搜索引擎对这些网页进行查找, 会得到有关文件的定位,并能在浏览器中查看到数据库地点和结构的细节,并以 此揭示完整的源代码. 4, 特殊字符 输入框是黑客利用的一个目标,他们可以通过输入脚本语言 等对用户客户端造成损坏;如果该输入框涉及数据查询,他们会利用特殊
查询语 句,得到更多的数据库数据,甚至表的全部.因此必须对输入框进行过滤.但如 果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过. 5, Access 数据库的存储隐患 在 ASP+Access 应用系统中,如果获得或者 猜到 Access 数据库的存储路径和数据库名,则该数据库就可以被下载到本地. 例如:对于网上书店的 Access 数据库,人们一般命名为 book.mdb,store.mdb 等,而存储的路径一般为"URL/database"或干脆放在根目录("URL/")下. 这样,只要在浏览器地址栏中敲入地址:"URL/database/store.mdb",就可以 轻易地把 store.mdb 下载到本地的机器中. 二, 防范对策 1, 防止泄露源代码 涉及用户名与口令的程序最好封装在服务器端,尽量少 在 ASP 文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限.出现 次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中. 如果涉及与数 据库连接,在理想状态下只给它以执行存储过程的权限,千万不要直接给予该用 户修改,插入,删除记录的权限. 2, 限制上传文件格式为了防止 ASP 木马被上传到服务器,
3, 加密 inc 文件程序员应该在网页发
布前对它进行彻底的调试还必需加固 ASP 文件以便外部的用户不能看到它们.首先对.inc 文件内容进行加密,其次也 可以使用.asp 文件代替.inc 文件使用户无法从浏览器直接观看文件的
源代码. inc 文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名 称,尽量使用无规则的英文字母. 4, 屏蔽某些特殊的语名和字符在处理类似留言板,BBS 等输入框的 ASP 程 序中,最好屏蔽掉
HTML,
JavaScript,
VBScript 语句,如无特殊要求,可以限 定只允许输入字母与数字,屏蔽掉特殊字符.同时对输入字符的长度进行限制. 对输入的字符不但要在客户端进行输入合法性检查, 同时要在服务器端程序中进 行类似检查. 5, 提高数据库的安全性由于 Access 数据库加密机制过于简单,因此,如何 有效地防止 Access 数据库被下载,就成了提高 ASP+Access 解决
方案安全性的重 中之重. ①非常规命名法 防止数据库被找到的简便方法是为 Access 数据库文件起一个复杂的非常规 名字,并把它存放在多层目录下.例如,对于网上书店的数据库文件,不要简单 地命名为"book.mdb"或"store.mdb",而是要起个非常规的名字,例如: d34ksfslf