DVWA攻略之弱回话ID

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 的生成方式要设计得尽量复杂。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值