DVWA攻略之弱回话ID

2023-10-10 07:30
文章标签 id 攻略 dvwa 之弱 回话

本文主要是介绍DVWA攻略之弱回话ID,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1.Weak Session IDs 弱回话ID
  • 2.实验演示
  • 2.1.low
  • 2.2.medium
  • 2.3.high
  • 2.4.impossible
  • 3.防范措施

1.Weak Session IDs 弱回话ID

当用户登录后,在服务器就会创建一个会话(session),叫做会话控制,会话中会保存用户的状态和相关信息,用于标识用户。接着访问页面的时候就不用登录,只需要携带sesion去访问。
服务器端维护所有在线用户的Session,为了告诉服务器应该使用哪一个Session,浏览器把当前用户持有的SessionID告知服务器。用户拿到session id就会加密后保存到 cookies 上,之后只要cookies随着http请求发送服务器,服务器就知道你是谁。SessionID一旦在生命周期内被窃取,就等同于账户失窃。
sessionID作为特定用户访问站点所需要的唯一内容。如果能够计算或轻易猜到该sessionID,攻击者将可以轻易获取访问权限,无需登录直接进入特定用户界面,进而进行其他操作。攻击者可以利用某位用户的 cookie,伪造成该用户在网页上执行一系列操作。
Session利用的实质 :
由于SessionID是用户登录之后才持有的唯一认证凭证,因此黑客不需要再攻击登陆过程(比如密码),就可以轻易获取访问权限,无需登录密码直接进入特定用户界面,进而查找其他漏洞如XSS、文件上传等等。
通过窃取用户sessionID,使用该sessionID登录进目标账户,此时攻击者实际上是使用了目标账户的有效session。如果sessionID是保存在Cookie中的,则这种攻击可以称为Cookie劫持。sessionID还可以保存在URL中,作为一个请求的一个参数,但是这种方式的安全性难以经受考验。

2.实验演示

在DVWA页面左侧选择Weak Session IDs。
目标是找出session id是怎样生成的,推断其他用户session id。

2.1.low

DVWA Security设置为low,没有采用任何防御措施。
查看源码
在这里插入图片描述

cookie初始值为0,将cookie中的一个参数的值加一之后就变成了一个新的cookie
在这里插入图片描述

每点击一次Generate ,dvwaSession 的值就会加一。也就是登录这个网站的每个用户session id 安装顺序递增,那么我们就可以按顺序猜测其他用户id,比如当前id为4,那么其他用户id有3、2、1。
如:启动新浏览器,使用hackBar工具编辑cookies,url中填入访问路径http://127.0.0.1/DVWA/vulnerabilities/weak_id/,cookies设为dvwaSession=5;security=low; PHPSESSID=c5tvrc3uaec0r1u5o03h5s390q。其中dvwaSession为猜测值,其他值来自于上一个浏览器访问的cookies信息。
在这里插入图片描述

这个浏览器没有登录过DVWA,通过这个session,我们却绕过了输入账号密码的过程,直接登录进来。

2.2.medium

DVWA Security设置为Medium,
查看cookies信息。
在这里插入图片描述

sessionid为1686036935,点击Generate,变为1686037049,再变为1686037080
只有后4位不一样,是可以直接爆破的。
查看源码
在这里插入图片描述

原来session id值直接就是当前时间的秒数。
使用在线工具,时间戳转换https://tool.lu/timestamp/
在这里插入图片描述

如:启动新浏览器,使用hackBar工具编辑cookies,url中填入访问路径http://127.0.0.1/DVWA/vulnerabilities/weak_id/,cookies设为dvwaSession=1686037300;security=medium;PHPSESSID=c5tvrc3uaec0r1u5o03h5s390q。其中dvwaSession为时间戳转换来,其他值来自于上一个浏览器访问的cookies信息。成功登录。

2.3.high

DVWA Security设置为High。
查看dvwaSession值,看不出什么规律。
在这里插入图片描述

查看源码
在这里插入图片描述

在low的基础上增加了md5。也就是每个用户session id会加一,然后计算md5。
把12计算md5为49ba59abbe56e057
在这里插入图片描述

hackBar中设置cookies为dvwaSession=49ba59abbe56e057;security=high; PHPSESSID=c5tvrc3uaec0r1u5o03h5s390q
在这里插入图片描述

成功登录。

2.4.impossible

DVWA Security设置为Impossible Level。
查看源码
在这里插入图片描述

session id生成使用了随机数+当前时间秒数+字符串,然后sha1,无法推测出其他的session id。

3.防范措施

cookie 的生成方式要设计得尽量复杂。

这篇关于DVWA攻略之弱回话ID的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178953

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

企业大模型落地的“最后一公里”攻略

一、大模型落地的行业现状与前景 大模型在多个行业展现出强大的应用潜力。在金融行业,沉淀了大量高质量数据,各金融平台用户数以亿计,交易数据浩如烟海。利用大模型分析处理这些数据,金融机构可以预测用户行为偏好,更高效、准确评估客户风险,实时监测交易和市场波动,及时制定策略。IDC 调研显示,超半数的金融机构计划在 2023 年投资生成式人工智能技术。 在科技领域,商汤人工智能大装置为大模型企业提

4-4.Andorid Camera 之简化编码模板(获取摄像头 ID、选择最优预览尺寸)

一、Camera 简化思路 在 Camera 的开发中,其实我们通常只关注打开相机、图像预览和关闭相机,其他的步骤我们不应该花费太多的精力 为此,应该提供一个工具类,它有处理相机的一些基本工具方法,包括获取摄像头 ID、选择最优预览尺寸以及打印相机参数信息 二、Camera 工具类 CameraIdResult.java public class CameraIdResult {

集群环境下为雪花算法生成全局唯一机器ID策略

雪花算法是生成数据id非常好的一种方式,机器id是雪花算法不可分割的一部分。但是对于集群应用,让不同的机器自动产生不同的机器id传统做法就是针对每一个机器进行单独配置,但这样做不利于集群水平扩展,且操作过程非常复杂,所以每一个机器在集群环境下是一个头疼的问题。现在借助spring+redis,给出一种策略,支持随意水平扩展,肥肠好用。 大致策略分为4步: 1.对机器ip进行hash,对某一个(大于

在实现回显功能模块的时候,把ID设置成全局变量了

在hsapprove.jsp中: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><script type="text/javascript">function edittodayhs(hsid){//alert(hsid);//

PL/SQL工具创建Oracle数据库表,实现id字段的自动递增

通过PL/SQL工具,创建Oracle数据库表,如何实现字段ID自动递增; Oracle的自增需要依靠序列和触发器共同实现 比如:先创建一个表 create table test (id int primary key, name varchar2(10)); 创建一个序列 create sequence test_seq increment by 1 start with 1  min

分布式项目中使用雪花算法提前获取对象主键ID

hello,大家好,我是灰小猿! 在做分布式项目开发进行数据表结构设计时,有时候为了提高查询性能,在进行数据库表设计时,会使用自增ID来代替UUID作为数据的主键ID,但是这样就会有一个问题,数据的自增ID应该如何获取到下一个ID并且插入到库中呢? 如果你使用的是mybatisPlus,可以使用自带的自增注解加在id字段上即可,这样在数据入库时就可以自动给数据赋值自增的主键ID, 但是对于不

2025计算机毕业设计选题攻略

博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做,拉到文章底部即可看到个人VX。🍅 2023年 - 2024年 最新计算机毕业设计 本科 选题大全 汇总 计算机专业毕业设计之避坑指南(开题答辩选导师必看) 感兴趣的可以先收藏起来,还

《长得太长也是错?——后端 Long 型 ID 精度丢失的“奇妙”修复之旅》

引言 在前后端分离的时代,我们的生活充满了无数的机遇与挑战——包括那些突然冒出来的让人抓狂的 Bug。今天我们要聊的,就是一个让无数开发者哭笑不得的经典问题:后端 Long 类型 ID 过长导致前端精度丢失。说到这个问题,那可真是“万恶之源”啊,谁让 JavaScript 只能安全地处理 Number.MAX_SAFE_INTEGER(也就是 9007199254740991)以内的数值呢?