freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

cookie登录绕过漏洞
2023-03-07 14:29:02
所属地 浙江省

Cookie 登录绕过 这个漏洞有点老。我看freebuf上没有人写,于是我来分享一下。

Cookie介绍

Cookie 是存储在用户浏览器中的一段不超过 4 KB 的字符串。 它由一个名称(Name)、一个值(Vaue) 和其它几个用于控制 Cookie 有效期、安全性、使用范围的可选属性组成。 不同域名下的 Cookie 各自独立.,每当客户端发起请求时,会自动把当前域名下所有未过期的 Cookie一同发送到服务器。

Cookie储存在本地

Cookie四大特性

1.自动发送

2.域名独立

3.过期时限

4.4KB限制

Cookie 的分类:

Cookie 分为会话Cookie 和持久 Cookie,会话Cookie 是指在不设定它的生命周期 expires 时的状态,前面

说了,浏览器的开启到关闭就是一次会话,当关闭浏览器时,会话Cookie 就会跟随浏览器而销毁。当关闭

一个页面时,不影响会话Cookie 的销毁。会话Cookie 就像我们没有办积分卡时,单一的买卖过程,离

开之后,信息则销毁。

持久 cookie 则是设定了它的生命周期 expires,此时,cookie 像商品一样,有个保质期,关闭浏览器之后,

它不会销毁,直到设定的过期时间。对于持久Cookie,可以在同一个浏览器中传递数据,比如,你在打开

一个京东页面登陆后,你在点开一个商品页面,依然是登录状态,即便你关闭了浏览器,再次开启浏览器,

依然会是登录状态。这就是因为Cookie 自动将数据传送到服务器端,在反馈回来的结果。持久Cookie 就

像是我们办了一张会员卡一样,即便离开,信息一直保留,直到时间到期,信息销毁。

Cookie 不具有安全性

由于 Cookie 是存储在浏览器中的,而且浏览器也提供了读写 Cookie 的 API。

因此 Cookie 很容易被伪造,不具有安全性。

因此不建议服务器将重要的隐私数据,通过 Cookie 的形式发送给浏览器。

Cookie绕过漏洞代码分析

<?php
if($_COOKIE['username']){
echo "登录成功【{$_COOKIE['usernme']}】"
}
?>
<meta charset="UTF-8">
<form method='post'>
<label>帐号:</label><input type='text' name='username'><br>
<label>密码:</label><input type='password' name='password'><br>
<input type='submit' value='登录' name='submit'>
</form>

我们可以看到是判断cookie里的username是不是为空,如果不为空即登录成功。

Cookie登录普通用户提升管理员权限复现

我用github上一个开源的项目,awspanel。

https://github.com/Yuzuki616/AWS-Panel

注册普通用户后

登录时用户抓包

isadmin的意思是管理员的意思 修改返回包的fasle为true 意思是管理员的意思

可以看到现在我们的cookie后面有这个管理员参数为真了。

可以看到我们有管理员的权限了

这也算是Cookie绕过的一种方法

# Cookie
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录