工具的使用

首先github上下载火狐插件(正版收费),按F12调用

服务器生成sessionID通过response返回给浏览器,sessionID存放在浏览器cookie中,然后再通过cookie发送给服务器验证。

获取浏览器请求的cookie

使用Hackbar伪造,输入要访问的服务器url以及刚获取的cookie,点击execute

这时会自动进入界面。

Low Security Level

模拟管理员登录,在浏览器中,点击GenerateBurpsuite抓包,发送到Repeatergo一次,发现:

请求头中:

PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=low

响应头中:

Set-Cookie: dvwaSession=1

go几次,发现dvwaSession一直增加,每次加1

恶意攻击者通过寻找到上述规律,使用浏览器2,成功构造出payload:

Cookie: dvwaSession=71; PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=low

在无密码认证的情况下,根据cookie用hackbar成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/

Medium Security Level

拟管理员登录,在浏览器里,点击Generateburp里发现:

请求头中:

Cookie: PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=medium

响应头中:

Set-Cookie: dvwaSession=1561097825

go几次,发现dvwaSession和时间戳变化一致。

恶意攻击者通过寻找到上述规律,使用浏览器firefox,成功构造出payload

Cookie: dvwaSession=1561097825; PHPSESSID=majmpibnicga5ks1oisqkuhf5h; security=medium

无密码认证的情况下,根据cookie用hackbar成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/

High Security Level

模拟管理员登录,在浏览器 1 里,点击Generateburp里发现:

name    必需。规定cookie的名称。
value 必需。规定cookie的值。
expire 可选。规定cookie的有效期。
path 可选。规定cookie的服务器路径。
domain 可选。规定cookie的域名。
secure 可选。规定是否通过安全的HTTPS连接来传输cookie。
httponly 可选。规定是否Cookie仅可通过HTTP协议访问。
value 值:last_session_id_high 自增 1,再用 md5 加密
expire 值:当前时间再加一个小时
path 值:/vulnerabilities/weak_id/

go几次,发现dvwaSession值通过MD5加密。将每次产生的MD5解密,发现解密后的值,发现和低等级中的代码一样,是从0开始加的。

恶意攻击者通过寻找到上述规律,使用浏览器2,成功构造出payload:

Set-Cookie: dvwaSession=182be0c5cdcd5072bb1864cdee4d3d6e;security=high; PHPSESSID=majmpibnicga5ks1oisqkuhf5h

在无密码认证的情况下,成功登陆到界面:http://www.dvwa.com/vulnerabilities/weak_id/

Impossible Security Level

采用随机数+时间戳+固定字符串再进行sha1运算,完全不能猜测到dvwaSession的值。实现了用户安全会话认证。

https://github.com/Mr-xn/hackbar2.1.3

Weak Session IDs的更多相关文章

  1. DVWA 黑客攻防演练(七)Weak Session IDs

    用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识.用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器 ...

  2. 安全性测试入门 (四):Session Hijacking 用户会话劫持的攻击和防御

    本篇继续对于安全性测试话题,结合DVWA进行研习. Session Hijacking用户会话劫持 1. Session和Cookies 这篇严格来说是用户会话劫持诸多情况中的一种,通过会话标识规则来 ...

  3. 安全性测试入门:DVWA系列研究(一):Brute Force暴力破解攻击和防御

    写在篇头: 随着国内的互联网产业日臻成熟,软件质量的要求越来越高,对测试团队和测试工程师提出了种种新的挑战. 传统的行业现象是90%的测试工程师被堆积在基本的功能.系统.黑盒测试,但是随着软件测试整体 ...

  4. [红日安全]Web安全Day12 – 会话安全实战攻防

    本文由红日安全成员: ruanruan 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了 ...

  5. 搭建DVWA漏洞环境

    DVWA是一款开源的渗透测试漏洞练习平台,其中内含XSS.SQL注入.文件上传.文件包含.CSRF和暴力破解等各个难度的测试环境. 搭建步骤: 1.在Windows系统中安装WAMP 下载地址:htt ...

  6. DVWA学习记录 PartⅧ

    Weak Session IDs 1. 题目 用户访问服务器的时候,为了区别多个用户,服务器都会给每一个用户分配一个 session id .用户拿到 session id 后就会保存到 cookie ...

  7. Tomcat中的Session小结

    什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...

  8. [Spring] spring-session + JedisPool 实现 session 共享

    1.至少导入四个jar包: jedis spring-session spring-data-redis commons-pool2 2.bean配置 <?xml version="1 ...

  9. 使用Spring Session实现Spring Boot水平扩展

    小编说:本文使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的Spring Boot一样,都能处理用户请求.如果宕机,Nginx会将请 ...

随机推荐

  1. asp.net core 使用 Serilog

    安装NuGet包 PM> Install-Package SerilogPM> Install-Package Serilog.AspNetCorePM> Install-Packa ...

  2. Django实现自动发布(3发布-升级和回退)

    发布实际上就是将服务的某个版本和一台主机关联,我用一张表(MicroServiceInstance)记录了主机id.服务id.版本id,目前一台主机只能部署一个版本,所以主机id和服务id要做联合索引 ...

  3. mysql中包含长字段索引的优化

    不同于oracle,在mysql的Innodb存储引擎中,对索引的总长度有限制.在mysql 5.7中(https://dev.mysql.com/doc/refman/5.7/en/innodb-r ...

  4. leetcode 968. Binary Tree Cameras

    968. Binary Tree Cameras 思路:如果子节点只能覆盖到父节点.当前节点,但是父节点可以覆盖到他的父节点.子节点.当前节点,所以从叶子节点往上考虑 0代表子节点没有被覆盖 1代表子 ...

  5. OSI七层模型、TCP/IP五层模型

    OSI网络互连的七层框架:物理层.数据链路层.网络层.传输层.会话层.表示层.应用层: <1>应用层 OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,为用户直接提供各种网络服 ...

  6. [整理]如何撤销远程的git提交?

    确保你在你想要撤销的分支上. 第一步,本地使用 get reset --hard ,切换到特定的commit. 第二部,使用 --force推送到远程分支. git reset --hard cedc ...

  7. 【转】Notepad++如何设置行高

    Notepad++行高没有提供正式的设置方法,但可以通过一个 hack 来调整: 在[设置]「Style Configurator」对话框(中文是「语言格式设置」)里选择语言的地方选第一项「Globa ...

  8. 大数据 -- kafka学习笔记:知识点整理(部分转载)

    一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...

  9. nginx配置优化提高并发量

    1 nginx配置优化提高并发量 worker_processes 2; 这个按照CPU的核数来决定 2 worker_connections 65535; 这个一般设置65535即可 每个进程允许的 ...

  10. vba实现工具的序列号验证框架

    对于密码破译方面笔者不太懂,之前对于各种序列号的激活也有些臆测,自己根据想法做了个序列号验证的小框架,以后做的工具也可以用之保护一下下... 主要思路是:用户打开小工具后,系统检测是否已激活,如果未激 ...