仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1178|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之剖析cookie棍骗完成历程及详细使用

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-18 11:54:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
IDE是好。java中的IDE更是百花齐放,你用jbuilder能说jbuilder赶不上vs吗?用eclipse,netbeans也很舒服啊。我就不明白“稍微差一些”那一些是从哪里差来的。cookie|历程正如我们所晓得的,在收集辞汇中,cookie是一个特别的信息,固然只是服务器存于用户盘算机上的一个文本文件,但因为其内容的不平常性(与服务器有必定的互交性,且常会存储用户名,乃至口令,或是别的一些敏感信息,比方在江湖或是一些社区中,常会用cookie来保留用户集分,品级等等)。因此成为一些妙手存眷的对像,借此来获得特别权限,乃至霸占全部网站。自己出些拙作,以javascript中对cookie的使用,来讲开端申明cookie棍骗的完成历程及详细使用。
  
  1、cookie的创建
  
  在讲怎样创建cookie之前,我们先来懂得一下cookie的基础格局:
  
  cookiename+cookievalue;expire=expirationdategmt;path=urlpath;domain=sitedomain
  
  个中各项以;分隔,起首是指定cookie的称号,并为其赋值。接上去分离是cookie的无效期,url路径和域名,在这几项中,除第一项之外,别的部分均为可先项。  上面我们来看一段代码,懂得一下cookie事实是如何创建的:
  
  <HTML>
  <HEAD>
  <TITLE>Setacookiebasedonaform</TITLE>
  <SCRIPTLANGUAGE="javascript"TYPE="TEXT/javascript">
  <!--Hidescriptfromolderbrowsers
  
  expireDate=newDate
  expireDate.setMonth(expireDate.getMonth()+6)
  
  userName=""
  if(documents.cookie!=""){
  userName=documents.cookie.split("=")[1]
  }
  
  functionsetCookie(){
  userName=document.myform.nameField.value
  documents.cookie="userName="+userName+";expires="+expireDate.toGMTString()
  }
  
  //Endhidingscript-->
  </SCRIPT>
  </HEAD>
  <BODYBGCOLOR="WHITE">
  <formNAME="myform">
  <H1>Enteryourname:<INPUTTYPE="TEXT"NAME="nameField"></H1>
  </form>
  </BODY>
  </HTML>
  这是一锻复杂的创建cookie的剧本。
  
  1,<SCRIPTLANGUAGE="javascript"TYPE="TEXT/javascript">
  
  剧本入手下手的标志,由此一句告知扫瞄器以下将是javascript.
  
  2,<!--Hidescriptfromolderbrowsers
  
  为了避免扫瞄器不克不及辨认剧本,而让扫瞄器误觉得是HTML正文而疏忽它。
  
  3,expireDate=newDate
  
  猎取以后日期,并存进变量expireDate中。
  
  4,expireDate.setMonth(expireDate.getMonth()+6)
  
  猎取以后月份值,将其加6后设置为expireDate的月份总值部分。这意味着本cookie的无效期为6个月。
  
  5,if(documents.cookie!="")
  
  假如document的值不为空,相称于反省用户硬盘上是不是已有了cookie。
  
  6,userName=documents.cookie.split("=")[1]
  
  此处用到了split("=")函数,它的功效是把cookie纪录支解为数组,cookie的名为cookie[0],值为cookie[1],以此累推。以是此处documents.cookie.split("=")[1]前往的值是此cookie的值。在此句中将值赋给了变量username。
  
  7,functionsetCookie()
  
  设置名为setCookie的函数。
  
  8,documents.cookie="userName="+userName+";expires="+expireDate.toGMTString()
  
  此句是将设置好的cookie写进用户硬盘。expireDate.toGMTString()把expireDate中的值转换为文本字符串,如许才干写进cookie中。
  
  9,
  
  当页面载进时,把username的值写进文本框(假如有的话)。
  
  10,
  
  当用户分开文本框时,onBlur挪用函数setCookie。
  
  分离下面的正文,读那段代码信任不成成绩吧!既然我们能够创建cookie,那末读取也不是甚么难事,请接着往下看!
  2、读取和显现cookie
  
  一样平常来讲,cookie的作者其实不但愿cookie被显现出来,这是固然的!天晓得内里写了些甚么!?但是这也是我们想要读出它的缘故原由!~~~:D
  
  <HTML>
  <HEAD>
  <TITLE>CookieCheck</TITLE>
  </HEAD>
  <BODYBGCOLOR="WHITE">
  <H2>
  <SCRIPTLANGUAGE="javascript"TYPE="TEXT/javascript">
  <!--Hidescriptfromolderbrowsers
  
  if(documents.cookie==""){
  document.write("Therearenocookieshere")
  }
  else{
  thisCookie=documents.cookie.split(";")
  
  for(i=0;i<thisCookie.length;i++){
  document.write("Cookienameis’"+thisCookie.split("=")[0])
  document.write("’,andthevalueis’"+thisCookie.split("=")[1]+"’<BR>")
  }
  }
  
  //Endhidingscript-->
  </SCRIPT>
  </H2>
  </BODY>
  </HTML>
  
  以上的即是一段读取cookie的名字和值的剧本。上文中注释过的语句在此未几赘述,且看有甚么新的语法:
  
  1,thisCookie=documents.cookie.split(";")[注重:并不是前文中呈现过的split("=")。
  
  split(";")能够发生数组的了局,本句中,由documents.cookie.split(";")来猎取cookie的值,并将这个数组赋值缎带变量:thisCookie。
  
  2,for(i=0;i<thisCookie.length;i++)
  
  设置盘算器变量i的值为0,假如其值小于thisCookie.length(thisCookie中值的个数),将i的值加1。
  
  3,document.write("Cookienameis’"+thisCookie.split("=")[0])
  
  此句中thisCookie.split("=")[0]较难了解,下面的剧本中,thiscookie已被赋值为一个数组的值,那末thisCookie是指数组中第i个值,也就是第i个cookie,而由上文可知split("=")[0]是指cookie的名字。

  如许thisCookie.split("=")[0]即是第i的cookie中cookie的名字!
  
  4,document.write("’,andthevalueis’"+thisCookie.split("=")[1]
  
  跟3极其类似,便是第i个cookie中cookie的值。
  
  到此,我们已熟习了怎样创建cookie和它的读取。这些也恰是cookie棍骗也必要的次要手艺!
  3、cookie棍骗的完成
  
  要做到cookie棍骗,最主要的是了解方针cookie中的储值情形,并想法改动它。由下面的进修我们晓得,基于cookie的格局所限,一样平常来讲,只要在Cookie.split("=")[0]和Cookie.split("=")[1]中的值对我们才是有效的。也就是说只需改动这两处或是处的值便可到达我们的目标。
  而在实践操纵中,还得先办理另外一个成绩。因为受扫瞄器的外部cookie机制所限,每一个cookie只能被它的原服务器所会见!可我们总不克不及跑到人家服务器上操纵吧!这里就必要一个小技能了。
  在下面我们提到过cookie的格局,最初两项平分别是它的url路径和域名。不难想到,服务器对cookie的辨认靠的就是这个!
  而在平常,我们要扫瞄一个网站时,输出的url即是它的域名,必要经由域名办理体系dns将其转化为IP地点落后行毗连的。这个中就有一个空当。假如能在dns上做四肢举动,把方针域名的IP地点对应到别的站点上,我们即可以不法会见方针站点的cookie了!
  做到这一点其实不难,固然我不并非要往利用dns,并且那也是不成能的事变。在win9下的安装目次下,有一名为hosts.sam的文件,以文本体例翻开后会看到如许的格局:
  127.0.0.1lockhost#正文
  使用它,我们即可以完成域名剖析的当地化!并且其优先权高于收集中的dns!
  详细利用时,只需将IP和域名依下面的格局增加,并另存为hosts便可!(注重:此文件无后赘名,并不是hosts.sam文件自己!)
  
  到此,cookie棍骗所需的以是常识已完备。上面以一个“假”的例子,演示一下怎样进进实战.(方便给出实在地点,以避免引发犯法!~~~:P)
  假定方针站点是www.xxx.com
  www.self.com是本人的站点。(能够用来寄存棍骗方针所需的文件,用来读取和修正对方的cookie.)
  起首ping出www.self.com的IP地点:
  pingwww.self.com
  
  Replyfrom12.34.56.78:bytes=32time=20msTTL=244
  
  然后修正hosts.sam文件以下:
  
  12.34.56.78www.xxx.com
  并保留为hosts。
  
  将用来读取cookie的页面传至www.self.com(剧本如二所示)。
  此时连上www.xxx.com。因为我们已对hosts动过四肢举动,这时候离开的并非www.xxx.com,而是www.self.com
  www.xxx.com设在当地的cookie即可被读出!~~:D
  然后依据详细情形修正一的剧本,用一样的办法,向此cookie中写进数据。修正终了后,删失落hosts文件,再从头进进www.xxx.com,此时已半途而废,可享用你的hack功效了!~~~:)
  
  编后
  cookie棍骗是一种发明较早,且较难利用的hack伎俩,除javascript能够把持之外,asp等也能够用来对其进进设置。以是在此声明,一定能对一切站点有较。但手艺实在,不必置疑!
  
  增补:在win2000中hosts文件的创建与win98分歧,必要c:winntsystem32driversetc文件夹中创立!

首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。
蒙在股里 该用户已被删除
18#
发表于 2015-4-26 11:53:31 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
不帅 该用户已被删除
17#
发表于 2015-4-25 15:13:51 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
老尸 该用户已被删除
16#
发表于 2015-4-17 03:10:41 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
分手快乐 该用户已被删除
15#
发表于 2015-4-16 17:30:42 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
乐观 该用户已被删除
14#
发表于 2015-4-12 15:58:58 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
只想知道 该用户已被删除
13#
发表于 2015-4-11 11:29:29 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
精灵巫婆 该用户已被删除
12#
 楼主| 发表于 2015-4-6 00:28:41 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
小妖女 该用户已被删除
11#
发表于 2015-4-4 18:32:47 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-20 08:40:17 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
小女巫 该用户已被删除
9#
发表于 2015-3-13 01:09:34 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
再见西城 该用户已被删除
8#
发表于 2015-3-12 22:09:29 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
若相依 该用户已被删除
7#
发表于 2015-3-6 07:18:08 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
爱飞 该用户已被删除
6#
发表于 2015-3-4 05:34:50 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-12 11:23:49 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
莫相离 该用户已被删除
地板
发表于 2015-2-8 20:42:41 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
若天明 该用户已被删除
板凳
发表于 2015-2-3 11:59:19 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
透明 该用户已被删除
沙发
发表于 2015-1-25 17:12:45 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
admin 该用户已被删除
楼主
发表于 2015-1-21 16:54:15 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-26 00:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表