欢迎来到天天文库
浏览记录
ID:44010327
大小:34.00 KB
页数:3页
时间:2019-10-17
《学校ASP网站漏洞及防范》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、学校ASP网站漏洞及防范[摘要]冃前浏阳的很多学校都建立了自己的网站,但都是基TASP和Access的,很多的网站是直接从网上下载的,有着很多网站的注入通病。[关键词]浏阳网站数据库攻击由TASP的方便易用,越来越多的网站后台程序都使用ASP脚本语言。但是,由于ASP本身存在一些安全漏洞,稍不小心就会给攻击者提供可乘Z机。冃前ASP+ACCESS网站的主要安全隐患来自Access数据库的安全性,其次在于ASP网页设计过程中的安全漏洞,也就是没有把很多关键词进行过滤。一、漏洞解析1、用户名与口令被破解用户名与口令,往往是攻击者们最感兴趣的东西,如果被通过某种方式看到源代码,后果是严重的,
2、我们的网站很快就会被攻击者占据。2、ASP木马有些网站允许用户上传文件,但必需对这些上传文件十分小心,为什么论坛程序被攻破后主机也随之被攻击者占据。原因就在于可能存在ASP木马,它能把一个文件随便放到你论坛的程序中,进而整个网站被攻击者占•据。3、inc文件泄露问题当存在ASP的主页正在制作且没有进行最后调试完成以前,可以被某些搜索引擎机动追加为搜索对象。如果这时候有人利用搜索引擎对这些网页进行查找,会得到有关文件的定位,并能在浏览器中杳看到数据库地点和结构的细节,并以此揭示完整的源代码。4、特殊字符输入框是黑客利用的一个Fl标,他们可以通过输入脚本语言等对用户客户端造成损坏;如果该输
3、入框涉及数据查询,他们会利用特殊杳询语句,得到更多的数据库数据,甚至表的全部。因此必须对输入框进行过滤。但如果为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过。5、Access数据库的存储隐患在ASP+Access应用系统中,如果获得或者猜到Access数据库的存储路径和数据库名,则该数据库就可以被下载到木地。例如:对于网上书店的Access数据库,人们一般命名为book.mdb>store,mdb等,而存储的路径一般为"URL/database"或干脆放在根目录(“URL/”)下。这样,只要在浏览器地址栏中敲入地址:"URL/database/store.mdb",就可以轻易
4、地把store,mdb下载到木地的机器中。二、防范对策1、防止泄露源代码涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里出现,涉及与数据库连接的用户名与口令应给予最小的权限。出现次数多的用户名与口令可以写在一个位置比较隐蔽的包含文件中。如果涉及与数据库连接,在理想状态下只给它以执行存储过程的权限,千万不要直接给予该用户修改、插入、删除记录的权限。2、限制上传文件格式为了防止ASP木马被上传到服务器,3、加密inc文件程序员应该在网页发布前对它进行彻底的调试还必需加同ASP文件以便外部的用户不能看到它们。首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc
5、文件使用户无法从浏览器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特殊含义容易被用户猜测到的名称,尽量使用无规则的英文字母。4、屏蔽某些特殊的语名和字符在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML>JavaScript>VBScript语句,如无特殊要求,可以限定只允许输入字母与数字,屏蔽掉特殊字符。同时对输入字符的长度进行限制。对输入的字符不但要在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。5、提高数据库的安全性由于Access数据库加密机制过于简单,因此,如何有效地防止Access数据库被卜•载,就成了提高ASP+Acce
6、ss解决方案安全性的重中之重。①非常规命名法防止数据库被找到的简便方法是为Access数据库文件起一个复朵的非常规名字,并把它存放在多层目录卜=例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个非常规的名字,例如:d34ksfslf.mdb,并把它放在如./kdslf/i44/studi/的几层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。②使用ODBC数据源在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序屮,否则,数据库名将随ASP源代码的失密而一同失密。
7、例如:MyPath=Server.MapPath(u./kdslf/i44/studi/d34ksfslf.mdb)mycorm.Open“driver二{Micros。ftAccessDriver(*.mdb)};dbq二”&myPath可见,即使数据库名字起得再怪异,隐藏的口录再深,ASP源代码失密后,数据库也很容易被下载下來。6、利用Session对象进行注册验证为防止未经注册的用户绕过注册界血直接进入应用系统,口J以采用Session对
此文档下载收益归作者所有