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

news2025/1/15 13:10:17

今天继续给大家介绍渗透测试相关知识,本文主要内容是登录处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.coloradmin.cn/o/94124.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

室内定位:物联网时代发展的必然需求

室内定位是指在室内环境中实现位置定位,主要采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内位置定位体系,从而实现人员、物体等在室内空间中的位置监控。 物联网时代,位置服务已成为人们工作生活必不可少的服务之一。蓝牙、5G、…

交换机和路由器

一台交换机有很多个端口,这些端口有各自的编号 计算机的网卡通过网线连接到交换机的网口上 在交换机中,有一张端口和MAC地址的映射表,称为MAC地址表,交换机维护这张表 交换机里的主机都是处在同一个子网里 不同子网之间是不能直…

一起Talk Android吧(第四百四十三回:UI控件之NumberPicker)

文章目录概念介绍使用方法内容总结各位看官们大家好,上一回中咱们说的例子是"UI控件之下拉列表:Spinner",这一回中说的例子是" UI控件之NumberPicker"。闲话休提,言归正转,让我们一起Talk Android吧!概念介绍…

Shiro框架入门

概述 官网介绍如下: Apache Shiro™ is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure a…

[C/C++/初学者]万年历(输入年份和月份,输出对应的日历表——数组)

//本代码不考虑历法问题,设定1年1月1日为星期一。 //以星期日为始。 //完整代码在最下方。 根据题意,我们首先需要接收年份的月份的数据。 printf("请输入年份:");scanf("%d",&Year);printf("请输入月份&#x…

Unity Addressables资源管理 资源组设置

Addressables资源管理总目录 1.Schema 翻译为:模式,计划。 目前理解为每个组的打包设置。 默认设置是只有两个Content Update Restriciton 和Content Packing& Loading 2.Content Update Restriction 内容更新方式 Can Change Post Release&…

Qt扫盲-QToolBox理论总结

QToolBox理论总结1. 简述2. 常用功能3. 信号&用途1. 简述 QToolBox 是一个类似前端的抽屉容器,它有一组选项卡,每个选项卡会在其下方自带有一个QWidget 来会显示一些内容。每个选项卡在选项卡列表中都有一个索引位置。这个选项卡的位置也是有顺序的…

Kerberos的概述和认证原理

什么是 Kerberos ​ Kerberos 是一种计算机网络认证协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证&#xff…

国产三维gis软件的行业赋能情况

自二十世纪六十年代世上第一个GIS——加拿大地理信息系统(CGIS)面世至今,短短的40多年,GIS技术性从咿呀学语迈向了健康成长,在土地规划、电力工程、电信网、大城市管道网、水利工程、消防安全、交通出行及其城乡规划等…

Webug靶场搭建详解

今天继续给大家介绍渗透测试相关知识,本文主要内容是Webug靶场搭建详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设…

C++ Reference: Standard C++ Library reference: Containers: map: map: find

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/find/ 公有成员函数 <map> std::map::find iterator find (const key_type& k); const_iterator find (const key_type& k) const;获取指向元素的iterator 在容器中搜索键值等于k的元素&…

助力软件供应链安全 蚂蚁集团多项产品入选信通院优秀案例

近日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;主办&#xff0c;中国通信标准化协会云计算标准和开源推进委员会承办的3SCON软件供应链安全会议以线上直播形式召开。会上主办方发布了首期《软件供应链厂商和产品名录》&#xff0c;蚂蚁集…

mongoose 的打印改造

若要 mongoose.c 里的打印输出则需要在 main 函数里显式调用 mg_log_set(level)&#xff0c;参数是打印等级&#xff0c;如&#xff1a; mg_log_set(MG_LL_INFO);这样设置之后&#xff0c;程序执行起来就可以实现打印输出了&#xff0c;但这个输出着实让人看得不太明白&#x…

基于Python多元线性回归、机器学习、深度学习在近红外光谱分析中的实践应用

【详情链接】&#xff1a;基于Python多元线性回归、机器学习、深度学习在近红外光谱分析中的实践应用https://mp.weixin.qq.com/s?__bizMzU5NTkyMzcxNw&mid2247527433&idx2&sn4a73e8451b57819dce1b660b55f7befa&chksmfe68aa63c91f2375d992e418ea6006ab8ea835e…

[附源码]Nodejs计算机毕业设计基于的企业人事管理系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置&#xff1a; Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分…

使用Springboot框架手撸一个安全、可靠的本地缓存工具

前言&#x1f353; 在实现本地缓存的时候&#xff0c;我们经常使用线程安全的ConcurrentHashMap来暂存数据&#xff0c;然后加上SpringBoot自带的Scheduled定时刷新缓存。虽然这样可以实现本地缓存&#xff0c;但既不优雅也不安全&#xff0c;一个好的本地缓存工具应该是这样搭…

python 之 numpy图片处理 矩阵操作

目录 一&#xff1a;垂直方向翻转(行逆序) 二&#xff1a;水平方向翻转(列逆序) 三&#xff1a;垂直、水平方向翻转(行、列逆序) 四&#xff1a;调整亮度&#xff0c;变明亮*2.0 五&#xff1a;调整亮度&#xff0c;变暗 六&#xff1a;垂直方向裁剪 七&#xff1a;水平…

ESP32 ESP-IDF LVGL8 显示中文

陈拓 2022/12/15-2022/12/16 1. 开发环境 《ESP32 ESP-IDF LVGL8.3.3移植》 ESP32 ESP-IDF LVGL8.3.3移植_晨之清风的博客-CSDN博客ESP32 ESP-IDF LVGL8.3.3移植。https://blog.csdn.net/chentuo2000/article/details/128269394?spm1001.2014.3001.5501 2. 使用LVGL自带的中…

C# 创建WebService接口并连接

创建WebService项目 首先安装下.NET Framework4.6.2-4.7.1开发工具。 然后就是新建 ASP.NET Web应用程序 项目。 输入项目名称WebServiceDemo 选择空&#xff0c;然后先去掉HTTPS配置。 项目创建好之后&#xff0c;开始添加asmx文件. 添加好之后在添加一个有参数的名为Hel…

牛客java刷题知识点总结(六)

内存引用地址 内存引用地址&#xff0c;是指栈中存放的地址&#xff0c;来指向堆中的某个位置。 int 是基本类型&#xff0c;数据直接存放在栈中&#xff0c;不存在内存引用地址的说法 A对 指向常量池里的"hello"。 B对 题中没说声明的a是局部变量。 C错 int a 1;并…