登录处cookie验证逻辑漏洞——以熊海CMS为例

news/2024/11/29 3:51:59/

今天继续给大家介绍渗透测试相关知识,本文主要内容是登录处cookie验证逻辑漏洞。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、熊海CMS登陆处逻辑漏洞实战

熊海CMS登录处页面如下所示:
在这里插入图片描述
在正确输入用户名和密码登录后,页面如下所示:
在这里插入图片描述
然而,此时我们可以看到,在登录后的cookie中,含有一个user的变量,该变量的值为登录后的用户名,并且之后对页面的所有操作,都是会在cookie中,携带有这个cookie变量,如下所示:
在这里插入图片描述
针对上述机制,我们想到,如果我们直接访问登录后的页面,但是携带有user的cookie,那么是否能够正常访问呢?
因此,我们使用火狐浏览器,借助HachBar,直接访问登录后的页面,如下所示:
在这里插入图片描述
但是在访问页面前,我们添加user=admin的cookie信息,如下所示:
在这里插入图片描述
发送数据包后,就可以绕过登录环节,直接登录系统了。

二、熊海CMS登录处逻辑漏洞分析

接下来,让我们从源码的角度,对熊海CMS的登录验证逻辑进行分析,进而从源码的角度明确漏洞产生原因。
熊海CMS admin目录下index.php文件如下所示:
在这里插入图片描述
从上图可以看出,index.php文件根据GET输入的r参数来确定跳转的页面,如果没有r参数,则自动跳转index.php的页面。
我们查看登录处login.php文件,如下所示:
在这里插入图片描述
从上图中可以看出,login.php文件中就是正常的链接数据库,然后身份验证的相关逻辑。
接下来,我们查看登录后的index.php,页面源代码如下所示:
在这里插入图片描述
发现在源代码中,包含一个checklogin.php,这个文件就是用于验证用户是否登录的脚本代码文件。
接下来,我们查看以下checklogin.php文件中的内容,如下所示:
在这里插入图片描述
可以发现该文件检验是否成功登录的逻辑在于用户是否以cookie的方式提交user变量,如果提交了,就认为用户已经登录;如果没有提交,则认为用户没有登录,然后返回登录页面。因此,熊海CMS在登录验证处存在cookie验证的脆弱逻辑漏洞,我们可以根据这一漏洞绕过登录环节,直接登录熊海CMS。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200


http://www.ppmy.cn/news/4013.html

相关文章

cad2010怎么隐藏标注尺寸,cad2007怎么隐藏标注尺寸

1、CAD2007怎么隐藏所有的标注尺寸? 1、在"查看器"菜单面板中隐藏的工具有"线宽"、"测量"、"文本"三种工具,可用于隐藏或显示CAD图中的线条宽度、测量尺寸和文本内容。 2、点击选择"测量"工具,将尺寸内容的CAD图隐藏起来。…

4.9 GHz异帧干扰问题研究

【摘 要】相对2.6 GHz频段,4.9 GHz频段可以通过灵活的帧结构配置满足上行大带宽的行业应用需求,但异帧结构组网可能导致基站和终端之间存在交叉时隙干扰,因此研究4.9 GHz的异帧干扰问题是非常必要的。基于3D-UMa传播模型,研究了4.9 GHz频段1D:3U:1S和5D:3U:2S帧结构配置下…

基于java+springmvc+mybatis+vue+mysql的高校课程评价系统

项目介绍 在还没有计算机的时代,对于教学评价的各方面的管理都是靠纸、笔为主要的工具进行的。随着科技的发展,大量信息增长,利用传统的方式已经无法快速、准确的跟随学校各项目的管理工作了。当人们意识到对于大量信息管理的重要性的时候&a…

不再封控,各高校要如何开展教学

疫情政策逐步放开,石家庄、福州、广西等地各高校发布寒暑假和期末课程安排。 广西科技大学要求从2022年12月13日下午起,停止所有线下课程,未完成的教学任务启动线上教学。 在疫情这三年里,线上教学已经成为学校的主要教学手段&…

Java 8函数式编程

函数式接口 一个接口中,有且只有一个抽象方法,这个接口就叫做函数式接口。常常使用FunctionalInterface注解作为编译校验。满足函数式接口的要求,才能校验通过,否则会在校验阶段失败。 接口中有且只能有一个抽象方法,…

某讯滑块验证码反汇编分析-第二章

某讯滑块验证码反汇编分析-第二章反汇编难点分析反汇编帮助跟踪参数生成函数反汇编难点分析 首先就是上一章提到的,指令的顺序是会变的 假设某序号为1的指令为【I[I.length - 2] I[I.length - 2] I.pop();】 这个指令可能在下一次请求的时候,序号变…

HTTP URL编码

文章目录HTTP URL编码HTTP URL编码 URL 就是平时我们所说的网址,一般来说 URL 只能使用英文字母、阿拉伯数字和一些英文的标点符号组成。其实在网络中 URL 并不是可以直接拿来使用的,因为 URL 中可以携带一些参数,出于安全考虑,需…

Python入门自学进阶-Web框架——29、DjangoAdmin项目应用-整表只读、自定义用户认证

一、整表只读 对于readonly_fields是对单个字段设置只读,现在要对整个表使用只读,也做成可配置的。在自己项目的admin.py中进行配置,如在mytestapp_admin.py中对Customer进行整表只读配置,在基类BaseAdmin中增加readonly_table …