![解析Cookie欺骗实现过程及具体应用_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/12/8181b6d1-6305-4990-bda0-76763ee9f67b/8181b6d1-6305-4990-bda0-76763ee9f67b1.gif)
![解析Cookie欺骗实现过程及具体应用_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/12/8181b6d1-6305-4990-bda0-76763ee9f67b/8181b6d1-6305-4990-bda0-76763ee9f67b2.gif)
![解析Cookie欺骗实现过程及具体应用_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/12/8181b6d1-6305-4990-bda0-76763ee9f67b/8181b6d1-6305-4990-bda0-76763ee9f67b3.gif)
![解析Cookie欺骗实现过程及具体应用_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/12/8181b6d1-6305-4990-bda0-76763ee9f67b/8181b6d1-6305-4990-bda0-76763ee9f67b4.gif)
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、解析Cookie欺骗实现过程及具体应用正如我们所知道的,在网络词汇中,cookie是一个特殊的信息,虽然只是服务 器存于用户计算机上的一个文本文件,但由于其内容的不寻常性(与服务器有一 定的互交性,且常会存储用户名,甚至口令,或是其它一些敏感信息,例如在7工 湖或是一些社区中,常会用cookie来保存用户集分,等级等等)。因而成为一些 高手关注的对像,借此来取得特殊权限,甚至攻克整个网站。本文以java script 中对cookie的应用,来说初步说明cookie欺骗的实现过程及具体应用。一、cookie的建立在讲如何建立cookie之前,我们先来了解一下cookie的基本格式:cookie
2、name+cookievalue;expire=expirationdategmt;path=urlpath;domain=s itedomain其中各项以;分开,首先是指定cookie的名称,并为其赋值。接下来分别是cookie 的有效期,url路径以及域名,在这几项中,除了第一项以外,其它部分均为可 先项。下面我们来看一段代码,了解一下 cookie究竟是怎样建立的:< HTML><HEAD>< TITLE>Set a cookie based on a form< /TITLE>< SCRIPT LANGUAGE="java
3、 script" TYPE="TEXT/java script">< !- Hide script from older browsers expireDate = new Date expireDate.setMonth(expireDate.getMonth()+6) userName ="" if (documents .cookie !="") userName = documents .cookie.split("=")1 function setCookie() userName
4、= Field.value documents .cookie = "userName="+userName+"expires=" + expireDate.toGMTString() / End hiding script ->< /SCRIPT< /HEAD< BODY BGCOLOR="WHITE" onLoad="Field.value = userName”< form NAME="myform&
5、quot;>< H1> Enter your name: < INPUT TYPE="TEXT" NAME="nameField"onBlur="setCookie()">< /H1>< /form>< /BODY>< /HTML>这是一段简单的建立cookie的脚本。1.< SCRIPT LANGUAGE="java script" TYPE="TEXT/java script”脚本开始的标记,由此一句告诉浏览器以下将是
6、java script.2.< !- Hide script from older browsers为了防止浏览器不能识别脚本,而让浏览器误以为是HTMLS释而忽略它。3. expireDate = new Date获取当前日期,并存入变量expireDate中。4. expireDate.setMonth(expireDate.getMonth()+6)获取当前月份值,将其加6后设置为expireDate的月份总值部分。这意味着本 cookie的有效期为6个月。5. if (documents .cookie !="")如果document的值不为空,相当于检查用户
7、硬盘上是否已经有了cookie。6. userName = documents .cookie.split("=")1此处用到了 split("=") 函数,它的功能是把cookie记录分割为数组,cookie 的名为cookie0,值为cookie1,以此累推。所以此处documents .cookie.split("=")1返回的值是此 cookie的值。在此句中将值赋给了变量username7. function setCookie()设置名为setCookie的函数。8. documents .cookie = "u
8、serName="+userName+"expires=" +expireDate.toGMTString()此句是将设置好的cookie写入用户硬盘。expireDate.toGMTString() 把 expireDate中的值转换为文本字符申,这样才能写入cookie中。9. onLoad="Field.value = userName"当页面载入时,把username的值写入文本框(如果有的话)。10. onBlur="setCookie()”当用户离开文本框时,onBlur调用函数se
9、tCookie。结合上面的注释,读那段代码相信不成问题吧!既然我们可以建立cookie ,那么 读取也不是什么难事,请接着往下看!二、读取和显示 cookie一般来说,cookie的作者并不希望cookie被显示出来,这是当然的!天知道里 面写了些什么! ?然而这也是我们想要读出它的原因!:D< HTML><HEAD>< TITLE> Cookie Check < /TITLE>< /HEAD> < BODY BGCOLOR="WHITE">< H2> < SCRIPT LANGUAG
10、E="java script" TYPE="TEXT/java script">< !- Hide script from older browsers if (documents .cookie ="")( document.write("There are no cookies here") else( thisCookie = documents .cookie.split("")for (i=0; i < thisCookie.length; i+) ( documen
11、t.write("Cookie nameis ' "+thisCookie.split("=")0)document.write(" , and the value is ' "+thisCookie.split("=")1+" '< BR> ") / End hiding script ->< /SCRIPT>< /H2>< /BODY>< /HTML>以上的便是一段读取cookie的名字和值的脚本。上文
12、中解释过的语句在此不多赘述,且看有什么新的语法:1. thisCookie = documents .cookie.split("") 注意:并非前文中出现过的 split("=") 。split(" ")可以产生数组的结果,本句中,由 documents .cookie.split(" ") 来获取cookie的值,并将这个数组赋值缎带变量:thisCookie。2. for (i=0; i设置计算器变量i的值为0,如果其值小于thisCookie.length(thisCookie 中 值的个数),将i的值加1
13、。3. documen.write("Cookie name is ' "+thisCookie.split("=")0)此句中thisCookie.split("=")0较难理解,上面的脚本中,thiscookie 已经被赋值为一个数组的值,那么thisCookie是指数组中第i个值,也就是第i个 cookie,而由上文可知split("=")0 是指cookie的名字。这样 thisCookie.split("=")0 便是第 i 的 cookie 中 cookie 的名字!4. d
14、ocument.write(" , and the value is ' "+thisCookie.split("=")1跟3极为相似,即是第i个cookie中cookie的值。到此,我们已经熟悉了如何建立 cookie以及它的读取。这些也正是cookie欺骗 也需要的主要技术!三、cookie欺骗的实现要做到cookie欺骗,最重要的是理解目标cookie中的储值情况,并设法改变它。由上面的学习我们知道,基于 cookie的格式所限,一般来说,只有在Cookie.split("=")0 和 Cookie.split(&quo
15、t;=")1中的值对我们才是有用的。也就是说只需改变这两处或是处的值即可达到我们的目的。而在实际操作中,还得先解决另一个问题。由于受浏览器的内部cookie机制所限,每个cookie只能被它的原服务器所访问!可我们总不能跑到人家服务器上操 作吧!这里就需要一个小技巧了。在上面我们提到过cookie的格式,最后两项中分别是它的 url路径和域名。不 难想到,服务器对cookie的识别靠的就是这个!而在平时,我们要浏览一个网站时,输入的url便是它的域名,需要经过域名管 理系统dns将其转化为IP地址后进行连接的。这其中就有一个空当。如果能在 dns上做手脚,把目标域名的IP地址对应到其
16、它站点上,我们便可以非法访问 目标站点的cookie 了 !做到这一点并不难,当然我不并不是要去操纵 dns,而且那也是不可能的事情。 在win9下的安装目录下,有一名为hosts.sam的文件,以文本方式打开后会看 到这样的格式: lockhost # 注释利用它,我们便可以实现域名解析的本地化!而且其优先权高于网络中的dns!具体使用时,只需将IP和域名依上面的格式添加,并另存为hosts即可!(注意: 此文件无后赘名,并非hosts.sam文件本身!)到此,cookie欺骗所需的所以知识已经齐备。下面以一个“假”的例子,演示 一下如何进入实战.(不便给出真实地址,以免引起犯罪!:P)假设 目标站点是 是自己的站点。(可以用来存放欺骗目标所需的文件,用来读取和修改对方的cookie.)首先 ping 出 的 IP 地址:ping Reply from 8: bytes=32 time=20ms TTL=244然后修改hosts.sam文件如下:8 并保存为hosts。将用来读取cookie的页面传至(脚本如二所示)。此时连上www.xxx.coni由于我们已经对hosts动过手脚,这时来到的并不是, 而是 设在本地的cook
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年产品加工承揽合同经典版(三篇)
- 2025年二年级下学期班主任个人总结(2篇)
- 2025年个人耐用消费品贷款的合作协议(三篇)
- 2025年临时雇佣合同标准范文(2篇)
- 摄影棚专业装修合同模板
- 污水调节液碱运输服务合同
- 保险代理居间协议简本
- 污水处理厂装修协议
- 健身房预制块配送协议
- 汽车制造废粉运输合同
- 苏北四市(徐州、宿迁、淮安、连云港)2025届高三第一次调研考试(一模)英语试卷(含答案)
- TSG07-2019锅炉安装工艺+焊接专用工艺卡+施工记录表
- 2024-2025学年陕西省西安市浐灞区数学三年级第一学期期末统考试题含解析
- 2025年信息系统集成服务公司组织架构和业务流程
- 护理人员的职业安全防护
- 西藏自治区拉萨市城关区多校2024-2025学年六年级上学期期中英语试题
- 胸外科讲课全套
- 2023年海南省公务员录用考试《行测》真题卷及答案解析
- 公安法制培训
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- 《钢铁是怎样练成的》阅读任务单及答案
评论
0/150
提交评论