仓酷云

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

[学习教程] ASP网站制作之堵住ASP毛病

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

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

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

x
ASP是依赖组件的,能访问数据库的组件好多就有好多种,再有就是你微软的工具可是什么都要收钱的啊!不管你相不信任,经由过程asp,大概能够很便利地进侵webserver、夺取服务器上的文件、捕捉
web
数据库等体系的用户口令,乃至歹意删除服务器上的的文件,直至形成体系破坏,这些都决非骇人听闻,并且都确的确实产生过,本文将向你逐一展现这些
asp存在的毛病,并提出一些提防定见。

  上一篇中给人人侧重谈了“ADO
存取数据库时怎样分页显现”的成绩,有位伴侣来信给我指出我在盘算页面总数时疏忽了
Recordset工具的一个主要参数“PageCount”,它能在给Pagesize
赋值后主动得出页面的总数,而不必用“INT(RS.recordcount/PgSz*-1)*-1”如许烦琐的公式。我要感激这位伴侣热情地给我指出程序中的不敷,因为这个程序是我在好久之前写的,由于在分页显现的时分纪录的总数纷歧定能整除页面显现纪录的数量,而事先我又不克不及一定
PageCount
是不是能准确得出页面的数量,以是偷懒写了这个公式:),说假话我到如今还都没试过用
pagecount,有乐趣的伴侣万万要试一下哦,可别学我的怠惰呀。


  比来我在chinaasp的bbs上会商成绩时发明良多伴侣关于asp
的一些平安性成绩不甚懂得,乃至不晓得怎样办理最多见的asp::$DATA
显现源代码的成绩,因而我以为十分有需要在这里给宽大伴侣们重点谈一谈这个成绩,在征得
chinaasp飞鸟的批准下,我将他已经写过的一点关于asp
毛病的先容加上我本人的一些理论履历拿出来给人人具体剖析一下这个关于
webmaster来讲相当主要的asp的平安性成绩。


  当客岁::$DATA
的毛病被发明并发布的第二天,我已经检测了事先国际年夜部分使用
asp
的站点,个中百分之九十九都存在以上能够瞥见源代码的成绩,当日我乃至在微软的站点上抓下了
search.asp
这个文件的源代码。大概你会以为看到源代码并没有甚么年夜碍,假如作为
webmaster的你这么想就年夜错特错了。比如,假如asp
程序员将站点的上岸暗码间接写在asp
里,那末一旦源码被发明,别人就能够很简单的进进本不应被看到的页面,我就已经使用这个办法收费成了一个免费网站的成员(人人可别揭破我哦!),并且良多数据库的毗连用户名和暗码也都是间接写在
asp
里,一旦被发明,假如你的数据库同意远程会见并且没有设防的话就相称伤害了。在一些用
asp开辟的bbs程序中,常常利用的是accessmdb库,假如mdb
库寄存的路径被获知,数据库就很有大概被别人下载,加上假如数据库里含有的暗码不加密,那就十分伤害了,猎取暗码的人假如成心举行歹意损坏,他只必要以
admin身份上岸删除一切bbs
里的帖子,就够你呛的了。上面列出了今朝已发明的一些毛病,但愿人人进步小心1、经由实行我们发明,
win95+pws上运转asp程序,只须复杂地在扫瞄器地点栏的asp
文件名后多加一个小数点asp程序就会被下载上去。IIS3
也存在一样的成绩,假如你今朝还在利用IIS3必定要测试一下。





  2、iis2、iis3、iis4的一个广为人知的毛病就是::$DATA,经由过程它利用
ie的viewsource或netscape间接会见该asp文件就可以十拿九稳地看到asp
代码。Win98+pws4不存在这个毛病。




  事实是甚么缘故原由形成了这类可骇的毛病呢?究其本源实际上是
WindowsNT独有的文件体系在做怪。有一点知识的人都晓得在NT
供应了一种完整分歧于FAT的文件体系:NTFS,这类被称之为新手艺文件体系的手艺使得
NT
具有了较高的平安机制,但也恰是由于它而发生了很多使人头痛的隐患。人人大概不晓得,
NTFS
撑持包括在一个文件中的多半据流,而这个包括了一切内容的主数据流被称之为“DATA”,因而使得在扫瞄器里间接会见
NTFS
体系的这个特征而容易的捕捉在文件中的剧本程序成了大概。但是间接招致
::$DATA的缘故原由是因为IIS
在剖析文件名的时分出了成绩,它没有很好地标准文件名。




  我们该怎样办理这个成绩呢?举措有几种:




  a、是将.asp文件寄存的目次设置为不成读(ASP
仍能实行),如许html、CSS
等文件就不克不及放在这个目次下,不然它们将不克不及被扫瞄。




  b、是安装微软供应的补钉程序,下载的地点以下(注重针对分歧的体系有分歧的补钉):





  该补钉是针对IIS3,Intel平台




  ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixi.exe





  该补钉是针对IIS3,Intel平台




  ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis3-datafix/iis3fixa.exe





  该补钉是针对IIS4,Alpha平台




  ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixi.exe





  该补钉是针对IIS4,Alpha平台




  ftp.microsoft.com/bussys/iis/iis-public/fixes/cht/security/iis4-datafix/iis4fixa.exe
c、是在服务器上安装ie4.01sp1,这个是不是无效,作者自己没详细试过。



  d、存粹作者的团体定见,只管安装英文版的NT,而不要利用中文版,究其缘故原由作者也说不清,只是依据理论履历英文版的
NT较中文版bug少,假如哪位伴侣晓得缘故原由万万要告知我。




  三.撑持asp
的收费主页空间和假造主机服务的服务器面对的成绩




  1、服务器上的asp代码极可能被人其他具有asp
权限的人不法猎取。




  举个很复杂的例子,在微软供应的ASP1.0的例程里有一个.asp
文件专门用来检察别的.asp文件的源代码,该文件为
ASPSamp/Samples/code.asp。假如有人把这个程序上传的服务器,而服务器端没有任何提防措施的话,他就能够很简单地检察别人的程序。





  比方:




  code.asp?source=/directory/file.asp




2、利用的ACCESSmdb
数据库大概被人下载一样平常来讲在供应asp
权限的收费主页服务器上不成能供应代为设定DSN的服务,因而asp
程序利用的数据库一般都范围在利用mdb库,而mdb
远端数据库地点的地位是利用我们在第十四期中讲到过的DSN-less
办法间接在asp中指定的,办法以下


  <%connstr=
"DBQ="+server.mappath("database/source.mdb")+";DefaultDir=;DRIVER={Microsoft
AccessDriver(*.mdb)};DriverId=25;FIL=MS
Access;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;
SafeTransactions=0;Threads=3;UserCommitSync=Yes;"%>




  正如前文所言,在这类情形下mdb
库极可能被别人下载,从而形成诸如暗码等的保守。




  以是,作为webmaster应当接纳必定的措施,严禁code.asp
之类的程序(仿佛很难办到,但能够按期检索特性代码),限定mdb
的下载。




  3、来自壮大的filesystemobject组件的威逼




  IIS3、IIS4的ASP的文件操纵都能够经由过程filesystemobject
完成,包含文本文件的读写目次操纵</p>国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了
因胸联盟 该用户已被删除
沙发
发表于 2015-1-24 15:33:59 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-26 16:54:04 | 只看该作者
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
活着的死人 该用户已被删除
地板
发表于 2015-2-4 16:55:24 | 只看该作者
掌握asp的特性而且一定要知道为什么。
海妖 该用户已被删除
5#
发表于 2015-2-10 04:17:12 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
山那边是海 该用户已被删除
6#
发表于 2015-2-28 19:28:09 | 只看该作者
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
谁可相欹 该用户已被删除
7#
发表于 2015-3-10 06:40:13 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
分手快乐 该用户已被删除
8#
发表于 2015-3-17 04:58:55 | 只看该作者
兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的
飘飘悠悠 该用户已被删除
9#
 楼主| 发表于 2015-3-23 19:48:23 | 只看该作者
下载一个源代码,然后再下载一个VBScript帮助,在源代码中遇到不认识的函数或是其他什么程序,都可以查帮助进行解决,这样学习效率很高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 09:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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