专栏首页玄魂工作室Kali Linux Web渗透测试手册(第二版) - 4.5- 手动识别Cookie中的漏洞

Kali Linux Web渗透测试手册(第二版) - 4.5- 手动识别Cookie中的漏洞

标记红色的部分为今日更新内容。

第四章、测试身份验证和会话管理

4.0、介绍

4.1、用户名枚举

4.2、使用Burp Suite进行登陆页面的字典攻击

4.3、使用Hydra强制进行暴力攻击

4.4、使用Metasploit破解Tomcat的密码

4.5、手动识别Cookie中的漏洞

4.6、攻击会话固定漏洞

4.7、使用Burp排序器评估会话标识符的质量

4.8、滥用不安全的直接对象引用

4.9、执行跨站点请求伪造攻击


4.5、手动识别Cookie中的漏洞

Cookie是服务器存放在客户端上的信息片段,它可以是长效的,也可以是短期的。在现如今的Web应用当中,Cookie被更多地用来做会话跟踪。服务器会将生成的会话标识符简称Session ID存储在Cookie中用于用户的身份验证,来自用户的每一次请求都将附带该Cookie,以此向服务器证明身份。

在本小节,我们将了解Cookie存在的常见漏洞。

实战演练

在学习之前建议先删除浏览器中所有存储的Cookie。

1. 在浏览器中:http://192.168.56.11/WackoPicko/。

2. 我们可以使用Cookies Manager来查看cookie中的值,只需要在浏览器右上角点击它的图标即可打开Cookie Manager

3. 任选一个cookie,例如来自192.168.56.11的PHPSESSID,双击它或者是选中后单击Edit按钮,便可打开一个新的窗口用来编辑它内部存储的值。

PHPSESSID是所有基于PHP搭建的WEB服务器的默认cookie名称。通过上面的实验我们可以发现,我们可以轻而易举地查看cookie的参数和值,因为Cookie是没有安全机制的,而且Http-Only并没有开启,所以这意味着该会话有很大的可能被劫持。

4. 我们也可以使用浏览器的默认开发者工具来查看的修改cookie的值。

在图中我们选择了一个名为session的cookie,通过Path可以看出它只

对/WackoPicko/admin/生效。与PHPSESSID一样,当关闭浏览器时它便会被销毁。它并没有开启HttpOnly或安全标志,所以它可以被任意编辑修改后发送给服务器,造成会话劫持。

原理剖析

在这个小节中,我们仅仅检查了Cookie的配置,虽然这并不激动人心,但是在真实的渗透测试中Cookie的安全配置检查是必要的。就像我们之前所说,Cookie的不正确配置会导致会话的劫持。

如果Cookie的HttpOnly并没有开启,那么使用脚本语言就可以查看它的值,也就是说,如果此处存在XSS漏洞,那么攻击者可以使用该Cookie来冒充用户身份向服务器发起有害的请求。

其他

PSPSESSID是PHP平台的默认Cookie名称,那么其他平台的呢?如下:

ASP.NET_SessionId是ASP.Net平台的默认Cookie

JSESSIONID是JSP的默认Cookie

OWASP有一篇关于Cookie保护的文章,讲的很详细,网址如下:

https://www.owasp.org/index.php/Session_Management_Cheat_Sheet

本文分享自微信公众号 - 玄魂工作室(xuanhun521)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-12-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 三种遍历目录的方法,轻松帮你找出隐藏文件

    无论在 Windows 系统中还是 Linux 系统中,都存在着隐藏文件以及隐藏文件夹。隐藏文件夹一般是系统关键性目录,例如 Windows 系统中的 C 盘中...

    猴哥yuri
  • docker学习系列17 镜像和容器的导入导出

    先说总结: docker save保存的是镜像(image),docker export保存的是容器(container); docker load用来载入...

    mafeifan
  • 快学 Go 语言 第 1 课 —— Hello World

    最初 Go 语言的 Logo 是一只可爱的土拨鼠,土拨鼠昼伏夜出的习性让它显得很有 Geek 范。土拨鼠的行动其实并不敏捷,不过它繁殖能力很强,生长发育的很快。...

    老钱
  • linux每日命令(12):nl命令

    nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的...

    用户1214487
  • 收购Red Hat,IBM进行最后一搏?

    不成功的SoftLayer收购、陷入争议中的Waston、连续22个月的业绩下滑...... 似乎IBM永远无法走出阴影,他在“最后机会”这家酒吧里徘徊了许久,...

    人称T客
  • linux下sublime如何使用中文

    原来在使用linux的时候最大的诟病是在sublime text下面不能写中文,各种百度和搜索都没能解决,但现在又重新下linux下面做开发,又要重新面对这个问...

    付威
  • 理解 CPU 利用率

    在 Linux shell 上执行 top 命令,可以看到这样一行 CPU 利用率的数据:

    linjinhe
  • 记一次远程命令执行漏洞的挖掘过程

    最近为甲方做渗透测试发现了一个远程命令执行漏洞,可以通过恶意参数传递执行bash命令,本文回顾一下漏洞的挖掘过程。

    FB客服
  • Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)

    因此当前linux的调度程序由两个调度器组成:主调度器,周期性调度器(两者又统称为通用调度器(generic scheduler)或核心调度器(core sch...

    233333
  • COW奶牛!Copy On Write机制了解一下

    触及到知识的盲区了,于是就去搜了一下copy-on-write写时复制这个技术究竟是怎么样的。发现涉及的东西蛮多的,也挺难读懂的。于是就写下这篇笔记来记录一下我...

    Java3y

扫码关注云+社区

领取腾讯云代金券