小魔女 发表于 2015-1-16 22:16:03

ASP编程:跨站Script打击和提防-ASP毛病集(续)

Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;打击跨站Script打击和提防
第一部分:跨站Script打击
每当我们想到黑客的时分,黑客常常是如许一幅画像:一个伶仃的人,悄然进进他人的服务器中,举行损坏大概夺取他人的奥密材料。大概他会变动我们的主页,甚者会窃
取客户的信誉卡号和暗码。别的,黑客还会打击会见我们网站的客户。与此同时,我们的服务器同样成了他的爪牙。微软称这类打击为“跨站script”打击。而这类打击年夜多
数都产生在网站静态发生网页的时侯,但黑客的方针并非你的网站,而是扫瞄网站的客户。
跨站script打击的申明
  在一本名为<<ADVISORYCA--2000-02>>的杂志中,CERT告诫人人:假如服务器对客户的输出不举行无效考证,黑客就会输出一些歹意的HTML代码,当这些HTML代码输
进是用于SCRIPT程序,他们就可以使用它来举行损坏,如拔出一些使人讨厌的图片或声响等,同时,也无能扰了客户准确扫瞄网页。
  我们晓得,有些伴侣已经被引诱到一些可疑的收费网站,他们失掉的仅仅是10到20个小的窗口,这些窗口经常陪伴着由Java或JavaScript天生的生效安钮,这被称
为鼠标圈套。封闭这些窗口是白费的,每当我们封闭一个窗口,又会有10几个窗口弹出。这类情形经常产生在办理员没在的时侯产生。鼠标事务是黑客使用跨站SCRIPT办法
攻客户的典范典范。
  歹意的标签和SCRIPT不但纯的开玩笑,他们乃至能够夺取材料和摧毁体系。一个伶俐的乃至是不敷伶俐的黑客都可以利用SCRIPT搅扰大概改动服务器数据的输出。使用
SCRIPT代码也能打击客户体系,让你的硬盘尽损。并且你要晓得,在你一边利用服务器的时分,黑客的SCRIPT也正在你服务器里平安的中央运转着的呀!假如客户对你的服
务器十分信认,一样他们也会信托那些歹意的SCRIPT代码。乃至这个代码是以〈SCRIPT〉大概〈OBJECT〉的情势来自黑客的服务器。
  即便利用了防火墙(SSL)也不克不及避免跨站SCRIPT的打击。那是由于假如天生歹意SCRIPT代码的设备也利用了SSL,我们服务器的SSL是不克不及分辨出这些代码来的。我们
岂非就如许把客户已经那末信托的网站拱手让给黑客吗?并且有这类损坏的存在,会让你网站信用尽损的。


1、跨站SCRIPT打击示例:
  依据CERT的材料,静态输出大抵有这几种情势:URL参数,表格元素,COOKISE和数据哀求。让我们来剖析一下,这个只要两个页面的网站,网站名为:
MYNICESITE.COM。第一页利用一张表格或COOKIE来猎取用户名:
<%@Language=VBScript%>
<%IfRequest.Cookies("userName")""Then
DimstrRedirectUrl
strRedirectUrl="page2.ASP?userName="
strRedirectUrl=strRedirectUrl&Response.Cookies("userName")
Response.Redirect(strRedirectUrl)
Else%>
<HTML>
<HEAD>
<TITLE>MyNiceSite.comHomePage</TITLE>
</HEAD>
<BODY>
<H2>MyNiceSite.com</H2>
<FORMmethod="post"action="page2.asp">
EnteryourMyNiceSite.comusername:
<INPUTtype="text"name="userName">
<INPUTtype="submit"name="submit"value="submit">
</FORM>
</BODY>
</HTML>
<%EndIf%>

第二页前往用户名以示接待:
<%@Language=VBScript%>
<%DimstrUserName
IfRequest.QueryString("userName")""Then
strUserName=Request.QueryString("userName")
Else
Response.Cookies("userName")=Request.Form("userName")
strUserName=Request.Form("userName")
EndIf%>
<HTML>
<HEAD></HEAD>
<BODY>
<H3align="center">Hello:<%=strUserName%></H3>
</BODY>
</HTML>
  当你一般常输出笔墨时,统统都很一般。假如你输出Script代码:<SCRIPT>alert(Hello.;</script>,JavaScript告诫标签就会弹出来:
  在你下一次会见时,这个警示标签一样会呈现;这是由于这个Script代码在你第一次会见的时后就已留在cookie中了。这是一个复杂的跨站打击的典范。
  假如你以为这是一个特别情形,你也无妨到网上其余中央看看,亲身试一下。我已经对一些年夜型的当局网站、教导网站和贸易网站举行过测试,他们傍边切实其实有部分
呈现了以上所说的情形,我乃至发明了我常常利用信誉卡的网站也竟然对输出不举行任何过滤,想一想真是可骇。



2、用E-Mail举行跨站Script打击
  跨站script打击用在列表服务器,usenet服务器和邮件服务器来得出格简单。上面仍是以MyNiceSite.com网站为例举行申明。因为你常常扫瞄这个网站,它的内容也
切实其实让你爱不爱不释手,因而在不知不觉中你就把扫瞄器的改成了老是信托这个静态网站内容的设置。
  MyNiceSite.com网站老是经由过程出卖征订它们Email函件的邮箱地点来取得支出,这切实其实是一种不太好的举措。因而我买了它的一份邮箱地点。并发了大批的邮件给你们
。在信中我告知你们尽快会见这个网站,并反省你们帐户利用的最新情形。为了让你们感应便利,我在这信中也作了链接。我在这链接URL中的username参数中舔加了
script代码。有些客户在不知不觉中就点击了这个链接,也就是说上了我确当(如图),同时我也从中失掉了优点:
  它是如许事情的,当你点击这个链接的时后,在链接里的script代码就会引诱你所用扫瞄器往下载我的JavaScript程序并实行它。我的Script反省到你利用的是IE浏
览器后,就动手下载ActiceX控件particularlyNasty.dll。由于之前你已把这个网站的内容以为老是平安的,如许,我的script代码和Active控件就可以在你呆板上
无拘无束的运转了。


3、Activex打击申明
  在会商ActiveX时,CERT和微软都没提到跨站script办法所带来的的伤害。W3C在<<平安罕见成绩解答>>中对ActiveX的平安成绩作了对照细致的申明。JavaApplet
对体系的把持遭到严厉限定。SUN开辟它时就划定,只要那些对体系的平安不组成威逼的操纵才被同意运转。
  在另外一方面,ActiveX对体系的操纵就没有严厉地被限定。假如一但被下载,就能够象安装的可实行程序一样做他们想干的事变。针对这一特性IE扫瞄器也作了某些限
制,如关于那些不平安的站点,在它的默许设置中就会不同意你举行下载大概会给你告诫的提醒。正在基于ActiveX举行开辟的公司,如VeriSign公司,它们对ActiveX控
件都给编了号。当你鄙人载控件的时后,IE扫瞄器会给你告诫并显现它的可托籁水平。由用户决意是不是信任这个控件。如许一来体系的平安性就增添了。
  可是,关于那些没有几履历的用户来讲,他们常常不盲目地对本来的设置举行了修正,让这些控件在没有任何提醒的情形下就下载了。别的,对一个老手来讲,即便
在有提醒的情形下也会不加思考地下载那些没作任何标志的控件。在我们所举的例子中,因为你对该站点的信托,改了扫瞄器的设置,如许,ActiveX控件在不经由任何提
示的情形下就下载,并在你的呆板上不知不觉地入手下手运转。


4、16进制编码的ActiveXScript打击
  要把专心不良的标签和script辨别出来是一件十分坚苦的事。Script还能够16进制的情势把本人躲起来。让我们看看上面这个E-mail典范好吗?它是以16进制的情势
被发送进来的:
  这几近是一封完全的邮件,内里包括了以16进制假造的URL参数:sender=mynicesite.com。当用户点击链接时,用户的扫瞄器就会间接入手下手第一例所说的处置历程而
弹出告诫窗口。结论:和PHP一样,ASP简单而易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。

飘飘悠悠 发表于 2015-1-19 06:27:05

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

变相怪杰 发表于 2015-1-25 11:58:04

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

老尸 发表于 2015-2-2 22:01:53

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

小魔女 发表于 2015-2-8 09:26:43

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

仓酷云 发表于 2015-2-25 08:50:05

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

海妖 发表于 2015-3-7 19:17:22

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

金色的骷髅 发表于 2015-3-15 12:29:58

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

蒙在股里 发表于 2015-3-22 01:09:13

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
页: [1]
查看完整版本: ASP编程:跨站Script打击和提防-ASP毛病集(续)