ASP漏洞分析和解决方法
来源:CSDN 发布时间:2008-10-30 13:35:00
有人说一台不和外面联系的电脑是最安全的电脑,一个关闭所有端口,不提供任何服务的电脑也是最安全的。黑客经常利用我们所开放的端口实施攻击,这些攻击最常见的是DDOS(拒绝服务攻击).
下面我会列出ASP的二十几个漏洞,每个漏洞都会有漏洞描述和解决方法。
1 在ASP程序后加个特殊符号,能看到ASP源程序
受影响的版本:
win95+pws
IIS3.0
98+pws4 不存在这个漏洞。
IIS4.0以上的版本也不存在这个漏洞。
问题描述:
这些特殊符号包括小数点,%81, ::$DATA。比如:
http://someurl/somepage.asp.
http:// someurl/somepage.asp%81
http:// someurl/somepage.asp::$DATA
http:// someurl/somepage.asp %2e
http:// someurl/somepage %2e%41sp
http:// someurl/somepage%2e%asp
http:// someurl/somepage.asp %2e
http://someurl/msadc/samples/selector/showcode.asp?source=/msadc/samples/../../../../../../boot.ini (可以
看到boot.ini的文件内容)
那么在安装有IIS3.0和win95+PWS的浏览中就很容易看到somepage.asp的源程序。究竟是什么原因造成了这种可怕的漏洞呢?
究其根源其实是 Windows NT 特有的文件系统在做怪。有一点常识的人都知道在 NT 提供了一种完全不同于 FAT 的文件系统:
NTFS,这种被称之为新技术文件系统的技术使得 NT 具有了较高的安全机制,但也正是因为它而产生了不少令人头痛的隐患。大家可能不知道, NTFS 支持包含在一个文件中 的多数据流,而这个包含了所有内容的主数据流被称之为"DATA",因此使得在浏览器里直接访问 NTFS 系统的这个特性而轻易的捕获在文件中的脚本程序成为了可能。然而 直接导致 ::$DATA的原因是由于 IIS 在
解析文件名的时候出了问题,它没有很好地规范文件名。
解决方法和建议:
如果是Winodws NT用户,安装IIS4.0或者IIS5.0,Windows2000不存在这个问题。如果是win95用户,安装WIN98和PWS4.0。
2 ACCESS mdb 数据库有可能被下载的漏洞
问题描述:
在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。比如:如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入:
http:// someurl/database/book.mdb 如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。
解决方法:
(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。接着employer.mdb就会被编码,然后存为employer1.mdb..
要注意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。
接下来我们为数据库加密,首先以打开经过编码了的employer1.mdb,在打开时,选择"独占"方式。然后选取功能表的"工具- >安全->设置数据库密码",接着输入密码即可。
为employer1.mdb设置密码之后,接下来如果再使用ACCEES数据库文件时,则ACCESS会先要求输入密码,验证正确后才能够启动数据库。
不过要在ASP程序中的connection对象的open方法中增加PWD的参数即可,例如:
param="driver={Microsoft Access Driver (*.mdb)};Pwd=yfdsfs"
param=param&";dbq="&server.mappath("employer1.mdb")
conn.open param
这样即使他人得到了employer1.mdb文件,没有密码他是无法看到employer1.mdb的。
猜你喜欢
- 看到过很多做网站优化的朋友在写网站优化的文章的时候都总结过这样一条优化的经验如:不能用flash引导页,不能用图片或者flash做导航条,尽
- Yupoo今日的收费对国内Web2.0服务来说是一件振奋人心的消息。虽然和Flickr相比,Yupoo还有很远的路要走,但其用户体验已经大大
- classZSMailBox{var$fpSocket;var$strLog;var$strSMTPServer;var$strSMTPPo
- Dedecms 5.5 实现自定义标题处理,在 {dede:function}@me='64edu.com'.@me{/de
- 前段时间,又一个SNS网站在短时间内得到了大量互联网人士的关注,那就是搜狐推出的“白社会”。除去依托于搜狐这个大平台外,还因为其在细节方面的
- 背景使用idea配合docker,实现从javaweb开发,部署,运行全过程。环境:已经配置好的docker、已经安装好的mysql8容器、
- 做网站,想必每一位站长的心愿都是一致的——更多的流量以便带来更多的收益!因此,不断宣传和推广自己的网站,让更多的人知道、了解并信赖你的网站,
- 北京时间11月9日消息,据国外媒体报道,消息人士周日透露,美国移动运营商Sprint Nextel(以下简称Sprint)及其合作伙伴计划至
- 我们经常收到发布商来信询问为什么网站上的Google Adsense广告不显示了,今天我们就详细介绍一下可能造成广告不显示的原因,这样,如果
- 有很多发布商写信来问怎样才算鼓励点击,还有一些发布商在接到我们的违反政策警告的时候甚至并不认为自己在鼓励点击,现在我们就来说说“鼓励点击”。
- iis限制,流量限制与cpu限制的对比当前的虚拟主机主要分为三类流量限制:一:流量限制就是直接限制网络流量,这种限制通常是最严厉的一种流量限
- 写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的朋友请注意命令里面的空格是必须的,否则运行会
- 网络信息修改主机名# hostname node01 //本次登录修改# hostname //查看主机名# vi/etc/h
- 10月27日消息,巨人网络(NYSE:GA)今日确认,该公司“赢在巨人”计划的新仙侠网游巨作《仙途》将于10月30日开启不删档测试。这意味着
- Godaddy是世界第一大域名注册商,进军主机领域以后发展迅速,据多家监测机构显示,放置在Godaddy上的网站数量已经越居第一位。Goda
- 距离 9 月 23 日,刚好是 Google 的 Chrome Frame 发布一个月的日子,来自各方面对 Chrome Frame 的声音
- 1.功能:xargs可以将stdin中以空格或换行符进行分隔的数据,形成以空格分隔的参数(arguments),传递给其他命令。因为以空格作
- CentOS 7 使用阿里云的yum源1. 备份原来的yum源sudo cp /etc/yum.repos.d/CentOS-Base.re
- 上次我们讲了proftp的基本安装,由于我们后面有关于mysql和quota的设置,所以编译的时候把相应的模块都编译进去了,如果你不需要my
- 今年8月搜索巨头谷歌推出更新版的“谷歌地球(Google Earth)”浏览系统,并且增加了“谷歌太空”(Google Sky)新功能。让用