《Web安全程序设计与实践》课件项目9_第1页
《Web安全程序设计与实践》课件项目9_第2页
《Web安全程序设计与实践》课件项目9_第3页
《Web安全程序设计与实践》课件项目9_第4页
《Web安全程序设计与实践》课件项目9_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

项目9Cookie欺骗攻击【项目描述】本项目对Cookie欺骗攻击和防护进行实训。本项目包含三个任务,首先修改项目3的数据库,给users表添加一个字段以记录用户端的信息,然后在项目6所建立网站的基础实施两种形式的Cookie欺骗,最后实现Cookie欺骗的两种组合防护方式。通过本项目实训,可以解释和分析Cookie欺骗产生的原理及危害,能够应用特殊键值对和客户端信息一致性检测的方法防护Cookie欺骗攻击。【知识储备】Cookie的工作原理在项目6介绍了Cookie的基本概念,以及Cookie和Session的区别和联系。Cookie的主要作用是在浏览器端保存用户访问网站的信息。Cookie可以用于保持会话,服务器端通过Cookie信息判断用户是否为登录用户,关闭浏览器则被清除。Cookie也可以通过设定了它的生命周期用于长久保存用户信息,即使关闭浏览器,只要在生命周期之内,仍然保存在用户的计算机上,下次打开浏览器再次访问这个网站时,网站可以通过对Cookie信息的验证,实现免登录功能。Cookie欺骗的原理与Session欺骗类似,Cookie欺骗攻击也是通过把正常登录之后产生的Cookie放到一个未登录的浏览器,从而绕过登录过程,访问正常登录用户的资源,实现对服务器的欺骗。二者的区别在于,如果服务器使用了Cookie认证,则可以进行Cookie欺骗攻击。反之,如果使用了Session认证,则可以进行Session欺骗攻击。Cookie欺骗的危害与Session欺骗一样,攻击者使用Cookie欺骗,可以获得与正常登录用户几乎相同的权限。与Session机制不同,Cookie验证机制是把用户的关键信息保存在客户端的硬盘上。只要Cookie没有超过有效期,就会一直存在。而Session机制的SessionID在浏览器关闭后就不在了。因此,Cookie欺骗比Session欺骗更容易进行。【任务9-1】修改数据库在本项目,对项目3的数据库进行修改,添加一个uagent字段以保存客户端User-Agent的MD5散列值信息。在Apache的网站根目录C:\Apache24\htdocs\下新建一个文件夹cooksec作为本项目的网站目录。打开Notepad++,新建文件,确保Notepad++的编码菜单中选择的为UTF8编码。输入以下脚本内容,保存到在C:\Apache24\htdocs\cooksec\目录下,保存类型为*.sql,文件名为lab.sql首先以管理员身份运行命令提示符,并登录到数据库,在mysql>提示符下输入:sourceC:/Apache24/htdocs/cooksec/lab.sql如果没有报错就表示导入成功【任务9-2】Cookie欺骗攻击测试在本任务,利用项目6的Cookie登录验证功能网站,实现两种方式的Cookie欺骗。一种方式是根据Cookie验证方案弱的特点,通过Cookie猜测实现Cookie欺骗。另一种方式是使用两个浏览器实现Cookie欺骗。在这种形式中,将360安全浏览器登录后的Cookie信息复制到Firefox浏览器实现Cookie欺骗,使得未经登录的Firefox浏览器访问未经授权的资源。最后对Cookie欺骗攻击的原理进行分析。9-2-1测试准备本项目在项目6的基础上进行,不需要另外建立测试网站。本项目使用项目3的数据库,不需要另外建立。首先将项目6在C:\Apache24\htdocs\cookie\目录下的文件复制到cooksec目录下。为避免Cookie注入攻击,使用【任务6-3】节的防护措施。Cookie功能的正常使用过程与6-1-2节相同,在此不再重复测试。9-2-2测试实施根据【任务8-1】节Session欺骗攻击的过程可知,如果可以直接从登录用户那里拿走Cookie信息,对服务器进行欺骗攻击是没有任何难度的。本任务的Cookie欺骗攻击是指在不能直接拿到登录用户Cookie信息的前提下,采用Cookie猜测的方式进行。9-2-3测试分析从以上Cookie欺骗攻击过程发现,根据网页源码提供的线索,直接猜测账号便可以实现登录。因此,在Cookie认证的过程中,需要使用不容易猜测的键值对以防护Cookie欺骗。【任务9-3】Cookie欺骗攻击防护在本任务,实现两种组合方式的Cookie欺骗攻击防护措施。一种是生成特殊Cookie键值对并将其保存在客户端浏览器,并在后台进行验证。另一种是将用户端信息保存在数据库,并在读取客户端Cookie信息时进行验证。同时,对这两种防护措施的效果进行测试。Cookie欺骗攻击防护主要通过增大Cookie猜测难度的方式。从项目8可知,如果浏览器不安全,攻击者可以拿走网站的Cookie内容,在服务器端做任何的努力都白费。与Session机制不同,使用Cookie的最大好处是可以免登录,以方便用户使用,因此,在【任务8-2】节的Session欺骗防护思路对防护Cookie欺骗没有意义。9-3-1设置特殊键值对设置不易猜测的特殊键值对的方法有很多,在这里使用对登录密码进行MD5散列的方式。9-3-2检测User-Agent一致性检测User-Agent一致性的原理与8-2-3节相同。用户登录后,将User-Agent使用MD5处理之后保存在数据库中,在Cookie验证的同时验证User-Agent是否相同。【项目总结】从Cookie欺骗攻击测试发现,将用户账号名称这种简单的信息保存在客户端的Cookie中进行免登录认证,进行Cookie欺骗是非常简单的。通过设置特殊的键值对,使得攻击者无法轻松猜测,结合使用User-Agent检测,从而提高了Cookie认证的安全性。Cookie的免登录方便了用户使用,但是安全性比Session机制差,应根据实际需求选择

温馨提示

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

评论

0/150

提交评论