仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 418|回复: 9
打印 上一主题 下一主题

[学习教程] ASP编程:ASP毛病年夜全

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:35:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。ASP毛病年夜全
(www.Jojoo.net)2002-10-22(请双击主动滚屏寓目,单击中断,再击..)


 MicrosoftActiveServerPages(ASP)是服务器端剧本编写情况,利用它能够创立和运转静态、交互的Web服务器使用程序。利用ASP能够组合HTML页、剧本命令和ActiveX组件以创立交互的Web页和基于Web的功效壮大的使用程序。
如今良多网站出格是电子商务方面的网站,在前台上多数用ASP来完成。以致于如今ASP在网站使用上很广泛。
ASP是开辟网站使用的疾速工具,可是有些网站办理员只看到ASP的疾速开辟才能,却无视了ASP平安成绩。ASP从一入手下手就一向遭到浩瀚毛病,后门的困扰,包含%81的恶梦,暗码考证成绩,IIS毛病等等都一向使ASP网站开辟职员心惊胆跳。
本文试图从开放了ASP服务的操纵体系毛病和ASP程序自己毛病,论述ASP平安成绩,并给出办理办法大概倡议。

ASP事情机理

ActiveServerPage手艺为使用开辟商供应了基于剧本的直不雅、疾速、高效的使用开辟手腕,极年夜地进步了开辟的效果。在会商ASP的平安性成绩之前,让我们来看看ASP是怎样事情的。ASP剧本是接纳明文(plaintext)体例来编写的。

ASP剧本是一系列按特定语法(今朝撑持vbscript和jscript两种剧本言语)编写的,与尺度HTML页面夹杂在一同的剧本所组成的文本格局的文件。当客户真个终极用户用WEB扫瞄器经由过程INTERNET来会见基于ASP剧本的使用时,WEB扫瞄器将向WEB服务器收回HTTP哀求。WEB服务器剖析、判别出该哀求是ASP剧本的使用后,主动经由过程ISAPI接口挪用ASP剧本的注释运转引擎(ASP.DLL)。ASP.DLL将从文件体系或外部缓冲区猎取指定的ASP剧本文件,接着就举行语法剖析并注释实行。终极的处置了局将构成HTML格局的内容,经由过程WEB服务器"原路"前往给WEB扫瞄器,由WEB扫瞄器在客户端构成终极的了局出现。如许就完成了一次完全的ASP剧本挪用。多少个无机的ASP剧本挪用就构成了一个完全的ASP剧本使用。
让我们来看看运转ASP所需的情况:
MicrosoftInternetInformationServer3.0/4.0/5.0onNTServer
MicrosoftInternetInformationServer3.0/4.0/5.0onWin2000
MicrosoftPersonalWebServeronWindows95/98
WINDOWSNTOptionPack所带的MicrosoftIIS供应了壮大的功效,可是IIS在收集平安方面倒是对照伤害的。由于很少有人会用Windows95/98当服务器,因而本文我更多的从NT中的IIS平安成绩来切磋。


微软自称的ASP的平安长处

固然我们本文的重点是切磋ASP毛病和后门,可是有需要谈谈ASP在收集平安方面的"长处",之以是加个"",是由于偶然这些微软传播鼓吹的"长处"恰好是其平安隐犯。微软称ASP在收集平安方面一年夜长处就是用户不克不及看到ASP的源程序,
从ASP的道理上看,ASP在服务端实行并注释成尺度的HTML语句,再传送给客户端扫瞄器。"屏障"源程序能很好的保护ASP开辟职员的版权,试想你辛辛劳苦做了一个很优异的程序,给人恣意COPY,你会怎样想?并且黑客还能剖析你的ASP程序,挑露马脚。更主要的是有些ASP开辟者喜好把暗码,有特权的用户名和路径间接写在程序中,如许他人经由过程猜暗码,猜路径,很简单找到打击体系的"出口"。可是今朝已发明了良多能检察ASP源程序的毛病,前面我们还要会商。
IIS撑持假造目次,经由过程在"服务器属性"对话框中的"目次"标签能够办理假造目次。创建假造目次关于办理WEB站点具有十分主要的意义。假造目次埋没了有关站点目次布局的主要信息。由于在扫瞄器中,客户经由过程选择"检察源代码",很简单就可以猎取页面的文件路径信息,假如在WEB页中利用物理路径,将表露有关站点目次的主要信息,这简单招致体系遭到打击。其次,只需两台呆板具有不异的假造目次,你就能够在不合错误页面代码做任何修改的情形下,将WEB页面从一台呆板上移到另外一台呆板。另有就是,当你将WEB页面安排于假造目次下后,你能够对目次设置分歧的属性,如:Read、Excute、Script。读会见暗示将目次内容从IIS传送到扫瞄器。而实行会见则可使在该目次内实行可实行的文件。当你必要利用ASP时,就必需将你寄存.asp文件的目次设置为"Excute(实行)"。倡议人人在设置WEB站点时,将HTML文件同ASP文件分隔安排在分歧的目次下,然后将HTML子目次设置为"读",将ASP子目次设置为"实行",这不但便利了对WEB的办理,并且最主要的进步了ASP程序的平安性,避免了程序内容被客户所会见。


ASP毛病剖析息争决办法

有人说一台反面表面接洽的电脑是最平安的电脑,一个封闭一切端口,不供应任何服务的电脑也是最平安的。黑客常常使用我们所开放的端话柄施打击,这些打击最多见的是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的源程序。事实是甚么缘故原由形成了这类可骇的毛病呢?究其本源实际上是WindowsNT独有的文件体系在做怪。有一点知识的人都晓得在NT供应了一种完整分歧于FAT的文件体系:NTFS,这类被称之为新手艺文件体系的手艺使得NT具有了较高的平安机制,但也恰是由于它而发生了很多使人头痛的隐患。人人大概不晓得,NTFS撑持包括在一个文件中的多半据流,而这个包括了一切内容的主数据流被称之为"DATA",因而使得在扫瞄器里间接会见NTFS体系的这个特征而容易的捕捉在文件中的剧本程序成了大概。但是间接招致::$DATA的缘故原由是因为IIS在剖析文件名的时分出了成绩,它没有很好地标准文件名。

办理办法和倡议:

假如是WinodwsNT用户,安装IIS4.0大概IIS5.0,Windows2000不存在这个成绩。假如是win95用户,安装WIN98和PWS4.0。

2ACCESSmdb数据库有大概被下载的毛病

成绩形貌:
在用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={MicrosoftAccessDriver(*.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对</p>asp对于服务器的要求较高,一般的服务器如果访问量一大就垮了,不得不重启。
透明 该用户已被删除
沙发
发表于 2015-1-20 10:02:30 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
再见西城 该用户已被删除
板凳
发表于 2015-1-25 13:22:33 来自手机 | 只看该作者
Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")
谁可相欹 该用户已被删除
地板
发表于 2015-1-25 15:27:20 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
小妖女 该用户已被删除
5#
发表于 2015-2-2 22:35:26 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
金色的骷髅 该用户已被删除
6#
发表于 2015-2-8 17:36:41 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
莫相离 该用户已被删除
7#
发表于 2015-2-25 21:49:04 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
admin 该用户已被删除
8#
发表于 2015-3-8 05:54:30 | 只看该作者
下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...
活着的死人 该用户已被删除
9#
发表于 2015-3-15 21:02:13 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
深爱那片海 该用户已被删除
10#
发表于 2015-3-22 04:10:43 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 03:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表