ASP网站有可能出现的漏洞有哪些_第1页
ASP网站有可能出现的漏洞有哪些_第2页
ASP网站有可能出现的漏洞有哪些_第3页
ASP网站有可能出现的漏洞有哪些_第4页
ASP网站有可能出现的漏洞有哪些_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ASP网站有可能出现的漏洞有哪些

1、用户名与口令被破解

攻击原理:用户名与口令,往往是黑客们最感爱好的东西,假如被通过某种方式看到源代码,后果是严峻的。

防范技巧:涉及用户名与口令的程序最好封装在服务器端,尽量少在ASP文件里消失,涉及与数据库连接的用户名与口令应赐予最小的权限。消失次数多的用户名与口令可以写在一个位置比较隐藏的包含文件中。假如涉及与数据库连接,在抱负状态下只给它以执行存储过程的权限,千万不要直接赐予该用户修改、插入、删除记录的权限。

2、验证被绕过

攻击原理:现在需要经过验证的ASP程序大多是在页面头部加一个推断语句,但这还不够,有可能被黑客绕过验证直接进入。

防范技巧:需要经过验证的ASP页面,可跟踪上一个页面的文件名,只有从面转进来的会话才能读取这个页面。

3、inc文件泄露问题

攻击原理:当存在ASP的主页正在制作且没有进行最终调试完成以前,可以被某些搜寻引擎机动追加为搜寻对象。假如这时候有人利用搜寻引擎对这些网页进行查找,会得到有关文件的定位,并能在扫瞄器中查看到数据库地点和结构的细节,并以此揭示完整的源代码。

防范技巧:程序员应当在网页发布前对它进行彻底的调试;平安专家则需要加固ASP文件以便外部的用户不能看到它们。首先对.inc文件内容进行加密,其次也可以使用.asp文件代替.inc文件使用户无法从扫瞄器直接观看文件的源代码。inc文件的文件名不要使用系统默认的或者有特别含义简单被用户猜想到的名称,尽量使用无规章的英文字母。

4、自动备份被下载

攻击原理:在有些编辑ASP程序的工具中,当创建或者修改一个ASP文件时,编辑器自动创建一个备份文件,比如:UltraEdit就会备份一个.bak文件,如你创建或者修改了some.asp,编辑器会自动生成一个叫some.asp.bak文件,假如你没有删除这个bak文件,攻击者可以直接下载some.asp.bak文件,这样some.asp的源程序就会被下载。

防范技巧:上传程序之前要认真检查,删除不必要的文档。对以BAK为后缀的文件要特殊当心。

5、特别字符

攻击原理:输入框是黑客利用的一个目标,他们可以通过输入脚本语言等对用户客户端造成损坏;假如该输入框涉及数据查询,他们会利用特别查询语句,得到更多的数据库数据,甚至表的全部。因此必需对输入框进行过滤。但假如为了提高效率仅在客户端进行输入合法性检查,仍有可能被绕过。

防范技巧:在处理类似留言板、BBS等输入框的ASP程序中,最好屏蔽掉HTML、JavaScript、VBScript语句,如无特别要求,可以限定只允许输入字母与数字,屏蔽掉特别字符。同时对输入字符的长度进行限制。而且不但要在客户端进行输入合法性检查,同时要在服务器端程序中进行类似检查。

6、数据库下载漏洞

攻击原理:在用Access做后台数据库时,假如有人通过各种方法知道或者猜到了服务器的Access数据库的路径和数据库名称,那么他也能够下载这个Access数据库文件,这是特别危急的。

防范技巧:

(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”。

要留意的是,以上的动作并不是对数据库设置密码,而只是对数据库文件加以编码,目的是为了防止他人使用别的工具来查看数据库文件的内容。

接下来我们为数据库加密,首先打开经过编码了的employer1.mdb,在打开时,选择“独占”方式。然后选取功能表的“工具→平安→设置数据库密码”,接着输入密码即可。这样即使他人得到了employer1.mdb文件,没有密码他也是无法看到employer1.mdb中的内容。

7、防范远程注入攻击

这类攻击在以前应当是比较常见的攻击方式,比如POST攻击,攻击者可以任凭的转变要提交的数据值已达到攻击目的.又如:COOKIES的伪造,这一点更值得引起程序编写者或站长的留意,不要使用COOKIES来做为用户验证的方式,否则你和把钥匙留给贼是同一个道理.

比如:

Iftrim(Request.cookies(“uname”))=”fqy”andRequest.cookies(“upwd”)=”fqy#e3i5.”then

……..more………

Endif

我想各位站长或者是喜好写程序的伴侣千万别出这类错误,真的是不行饶恕.伪造COOKIES都多少年了,你还用这样的就不能怪别人跑你的密码.涉及到用户密码或者是用户登陆时,你最好使用session它才是最平安的.假如要使用COOKIES就在你的COOKIES上多加一个信息,SessionID,它的随机值是64位的,要猜解它,不行能.例:

ifnot(rs.BOForrs.eof)then

login=”true”

Session(“username”&sessionID)=Username

Session(“password”&sessionID)=Password

‘Response.cookies(“username”)=Username

‘Response.cookies(“Password”)=Password

下面我们来谈谈如何防范远程注入攻击,一般的攻击都是将单表提交文件拖到本地,将FormACTION=”chk.asp”指向你服务器中处理数据的文件即可.假如你全部的数据过滤都在单表页上,那么恭喜你,你将已经被脚本攻击了.

怎么才能制止这样的远程攻击?好办,请看代码如下:程序体(9)

<%

server_v1=Cstr(Request.ServerVariables(“HTTP_REFERER”))

server_v2=Cstr(Request.ServerVariables(“SERVER_NAME”))

ifmid(server_v1,8,len(server_v2))<>server_v2then

response.write“<br><br><center>”

response.write””

response.write“你提交的路径有误,禁止从站点外部提交数据请不要乱改参数!”

response.write”

response.end

endif

%>

‘个人感觉上面的代码过滤不是很好,有一些外部提交竟然还能堂堂正正的进来,于是再写一个.

‘这个是过滤效果很好,建议使用.

ifinstr(request.servervariables(“http_referer”),”http://”&request.servervariables(“host”))<1thenresponse.write“处理URL时服务器上出错。

假如您是在用任何手段攻击服务器,那你应当庆幸,你的全部操作已经被服务器记录,我们会第一时间通知公安局与国家平安部门来调查你的IP.”

response.end

endif

程序体(9)

本以为这样就万事大吉了,在表格页上加一些限制,比如maxlength啦,等等..但天公就是那么不作美,你越怕什么他越来什么.你别忘了,攻击者可以突破sql注入攻击时输入框长度的限制.写一个SOCKET程序转变HTTP_REFERER?我不会。网上发表了这样一篇文章:

————len.reg—————–

WindowsRegistryEditorVersion5.00

@=”C:\DocumentsandSettings\Administrator\桌面\len.htm”

“contexts”=dword:00000004

———–end———————-

———–len.htm——————

———-end———————–

用法:先把len.reg导入注册表(留意文件路径)

然后把len.htm拷到注册表中指定的地方.

打开网页,光标放在要转变长度的输入框上点右键,看多了一个叫扩展的选项了吧

单击搞定!后记:同样的也就可以应付那些限制输入内容的脚本了.

怎么办?我们的限制被饶过了,全部的努力都白费了?不,举起你de键盘,说不。让我们连续回到脚本字符的过滤吧,他们所进行的注入无非就是进行脚本攻击。我们把全部的精力全都用到ACTION以后的页面吧,在chk.asp页中,我们将非法的字符全部过滤掉,结果如何?我们只在前面虚晃一枪,叫他们去改注册表吧,当他们改完才会发觉,他们所做的都是那么的徒劳。

8、ASP木马

已经讲到这里了,再提示各位论坛站长一句,当心你们的文件上传:为什么论坛程序被攻破后主机也随之被攻击者占据。缘由就在……对!ASP木马!一个肯定可恶的东西。病毒么?非也.把个文件任凭放到你论坛的程序中,您老找去吧。不吐血才怪哦。如何才能防止ASP木马被上传到服务器呢?方法很简洁,假如你的论坛支持文件上传,请设定好你要上传的文件格式,我不赞成使用可更改的文件格式,直接从程序上锁定,只有图象文件格式,和压缩文件就完全可以,多给自己留点便利也就多给攻击者留点便利。怎么推断格式,我这里收集了一个,也改出了一个,大家可以看一下:

程序体(10)

‘推断文件类型是否合格

PrivateFunctionCheckFileExt(fileEXT)

dimForumupload

Forumupload=”gif,jpg,bmp,jpeg”

Forumupload=split(Forumupload,”,”)

fori=0toubound(Forumupload)

iflcase(fileEXT)=lcase(trim(Forumupload(i)))then

CheckFileExt=true

exitFunction

else

CheckFileExt=false

endif

next

EndFunction

‘验证文件内容的合法性

setMyFile=server.CreateObject(“Scripting.FileSystemObject”)

setMyText=MyFile.OpenTextFile(sFile,1)‘读取文本文件

sTextAll=lcase(MyText.ReadAll):MyText.close

‘推断用户文件中的危急操作

sStr=”8.getfolder.createfolder.deletefolder.createdirectory

.deletedirectory”

sStr=sStr&“.saveaswscript.shellscript.encode”

sNoString=split(sStr,””)

fori=1tosNoString(0)

ifinstr(sTextAll,sNoString(i))<>0then

sFile=Upl.Path&sFileS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论