DVWA 黑客攻防演练(七)Weak Session IDs
用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识。用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器,服务器就知道你是谁了。
但是 session id 过于简单就会容易被人伪造。根本都不需要知道用户的密码就能访问,用户服务器的内容了。
下面就去看看一些不太合理的 sessionId 创建方式(这部分有点傻,正常人都不会这样设计
页面也比较简单的,点击 generate 就会生成一个 session Id。
初级
生成的策略是很简单的。
就在 cookies 上 dvwaSessionId 上 +1s,这种是肯定不行的。太容易被人伪造
再看看代码
<?php $html = ""; if ($_SERVER['REQUEST_METHOD'] == "POST") { if (!isset ($_SESSION['last_session_id'])) { $_SESSION['last_session_id'] = 0; } $_SESSION['last_session_id']++; $cookie_value = $_SESSION['last_session_id']; setcookie("dvwaSession", $cookie_value);
}
?>
如果用户 SESSION中的 last_session_id 不存在就设为 0,这样 dvwaSession 的冲突也太多了吧,都已经不是唯一了。
中级
第二种明显就是时间戳了。
依然是比较容易猜出来了
代码如下
<?php $html = ""; if ($_SERVER['REQUEST_METHOD'] == "POST") { $cookie_value = time(); setcookie("dvwaSession", $cookie_value);
}
?>
高级
看起来很高级,应该是 md5 处理了一下。
于是我在 https://www.cmd5.com/ 这个网站,md5 解密了一下。
。。。
再发一次请求。。。
也就是说跟初级是一样的策略,只是换汤不换药,
后台代码是这样的
<?php $html = ""; if ($_SERVER['REQUEST_METHOD'] == "POST") { if (!isset ($_SESSION['last_session_id_high'])) { $_SESSION['last_session_id_high'] = 0; } $_SESSION['last_session_id_high']++; $cookie_value = md5($_SESSION['last_session_id_high']); setcookie("dvwaSession", $cookie_value, time()+3600, "/vulnerabilities/weak_id/", $_SERVER['HTTP_HOST'], false, false);
} ?>
不可能
不可能级别使用随机数+时间戳+固定字符串("Impossible")进行 sha1 运算,作为 session Id,完全就不能猜测到。
<?php
$html = ""; if ($_SERVER['REQUEST_METHOD'] == "POST") { $cookie_value = sha1(mt_rand() . time() . "Impossible"); setcookie("dvwaSession", $cookie_value, time()+3600, "/vulnerabilities/weak_id/", $_SERVER['HTTP_HOST'], true, true);
}
?>
也行吧,可以作为其中一种生成 session Id 的策略。
而 tomcat 的 session id 值生成的策略,是一个随机数+时间+ jvm 的id值(jvm的id值会根据服务器的硬件信息计算得来),如果出现冲突就会再生成一个。
转载于:https://www.cnblogs.com/jojo-feed/p/10174011.html
DVWA 黑客攻防演练(七)Weak Session IDs相关推荐
- DVWA指点迷津-Weak Session IDs
Weak Seession IDs Session介绍 当用户完成登录操作后,服务器端需要记录用户的状态,而形成一个新的会话(Session),一般会保存在Cookie中.用户保持在线的状态时,就会保 ...
- PHP代码审计DVWA[Weak Session IDs(弱会话IDS)
Weak Session IDs(弱会话IDS) 靶场搭建推荐蓝易云服务器
- 【Web安全】Weak Session IDs (弱会话IDs)-burp进行Cookie劫持
文章目录 1 Weak Session IDs(弱会话IDs) 2 DVWA-low 3 medium级别 4 high级别 1 Weak Session IDs(弱会话IDs) 0x01 何为Wea ...
- DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass
看到标题,是否有点疑惑 CPS 是什么东东.简单介绍一下就是浏览器的安全策略,如果 标签,或者是服务器中返回 HTTP 头中有 Content-Security-Policy 标签 ,浏览器会根据标签 ...
- 网络黑客攻防学习平台之基础关第七题
网络黑客攻防学习平台之基础关第七题: key究竟在哪里呢? 上一次小明同学轻松找到了key,感觉这么简单的题目多无聊,于是有了找key的加强版,那么key这次会藏在哪里呢? 通关地址:http://l ...
- 全程带阻:记一次授权网络攻防演练(下)
完整攻击链大概包括信息搜集.漏洞利用.建立据点.权限提升.权限维持.横向移动.痕迹清除等七步,虽然这个站点只经历了前四步,但也具有较强的代表性,组合利用漏洞形成攻击链,拿下管理权限. 前情提要:全程带 ...
- 【攻防演练】蓝方值守阶段经验技巧
随着国家对网络安全的建设不断加强,各地组织的攻防演练行动会越来越多.今天来分享蓝方在正式防护阶段时,需要重点加强防护过程中的安全保障工作,从攻击监测.攻击分析.攻击阻断.漏洞修复和追踪溯源等方面全面加 ...
- 攻防演练中的业务逻辑漏洞及检测思路
随着各类前后端框架的成熟和完善,传统的SQL注入.XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破.业务逻辑漏洞,具有攻击特征少.自动化脆弱性工具无法扫出等特点,也为 ...
- 2020HW必备-蜜罐如何在攻防演练中战术部防
原创作者:长亭科技,已获授权. 文末记得获取<红蓝对抗--蓝队手册>,或许对你目前的HW工作有参考价值. 网络攻防演练活动以模拟真实攻击为重要标准,对参与演练单位的各类系统进行渗透,通过设 ...
最新文章
- java dump分析工具_java性能分析与常用工具
- 栏目图片 栏目描述_网站描述怎么写?对网站优化有什么作用?
- linux shell 数值计算let和expr
- UVA1601The Morning after Halloween 单向加双向bfs
- Cesium学习系列汇总
- FPGA核心板内部各类型资源总结(xilinx)
- 对架构师认识的误区有哪些?
- Hdu2558(欧拉函数)
- 直播客户端和浏览器使用桌面共享时出现黑屏等问题
- python使用win32*模块模拟人工操作——城通网盘下载器(零)
- 德国AgBB VoC有害物质测试
- qt自定义窗口标题栏
- [MongoDB] 运维相关操作记录
- etc的常见算法_几个常用算法的适应场景及其优缺点(非常好)
- php多张图片制作成视频教程,如何将多张图片转换成视频?快速制作电子相册的方法...
- 全倒装COB小间距LED全彩显示屏必将推动下一代显示技术的发展。
- 英语不好怎么自学python_为什么我就是学不好英语啊?我明明很努力,但是为... 我英语一般,但我很想学Python这个编程语言,行不?...
- 安装win和xp双系统 若干问题
- 小米重要通知android,Android开发笔记——小米通知‘坑’ app的通知一直显示在不重要通知里 ......
- 云顶之弈5.26服务器维护,云顶之弈维护到几点 云顶之弈维护公告最新 云顶之弈12月26日几点能上...
热门文章
- .net core精彩实例分享 -- 泛型和集合
- 使用HTML5创建和播放声音
- 顺序图组合片段类型及属性
- c语言排队系统,【分享】C语言 银行取票排队系统
- C#求两个日期之间相差的天数和当前日期+30天插入数据库
- mysql显示错误代码1067_每日一记--Mysql错误代码1067
- 1024灯控台初学_MA2的小弟MA1控台说明书
- 用python画分形树的详细解析_基于Python的matplotlib库绘制分形树
- 笔记本电脑怎样连接打印机_怎样使用打印机,打印机的基础知识
- java与安卓接口_Android-Java-接口Interface