当前位置: 首页 > news >正文

dvwa9——Weak Session IDs

LOW

首先通过f12打开控制台,点击GENERATE发送请求,在网络里我们得到如下界面

看到响应cookie和请求cookie之间差1并且每次刷新页面(重新点击generate) 都会每个数增加1,所以说我们可以得出结论-----session ids每次增加1

再次generate, 用bp抓包,抓到这些, 红框内是我们要用到的关键信息

 放包并退出登录, 然后去设置里面把cookie的数据清干净,然后退出重进火狐, 来到登录页面

 

在新标签页里打开hackbar, 输入我们刚才保存的url和cookie

 按execute, 无密码登录成功

MEDIUM

查看源码:

发现用到了时间戳——(time()) ,也就是数字化时间,从1970年1月1日开始计时,每过1秒加1

把时间戳加300秒,其余与low一样 

登录成功 

HIGH

查看源码:

发现cookie被md5加密了 

还是先bp抓包,抓到这些

send to repeater,继续send ,在pretty里找到

在这个里面解md5的码md5解密 MD5在线解密 破解md5 

 多试几组就会发现解密之后和low一样是公差为1递增的数字

所以直接加密构造payload就行,其余步骤跟low一样 

IMPOSSIBLE

分析源码:

优化地方:

1:把md5改成sha1哈希处理


sha1哈希:

无论输入什么,输出都会转为40位十六进制数,比如

"hello" → "aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d"
"hello world" → "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"

并且从哈希值无法反推原始数据 


2: 加入mt_rand():比普通的rand()生成的伪随机数更安全

3:加入时间戳time(),time()+3600指明一小时有效期

4:请求方法变成post,因为难以构造post攻击

5:true:禁止javascript访问

http://www.lqws.cn/news/134029.html

相关文章:

  • JavaSec-专题-反序列化
  • 使用osqp求解简单二次规划问题
  • LeetCode-934. 最短的桥
  • 树莓派上遇到插入耳机后显示“无输入设备”问题
  • C++课设:通讯录管理系统(vector、map协作实现)
  • MQTT协议:物联网时代的通信基石
  • 使用 LangChain 和 RAG 实现《斗破苍穹》文本问答系
  • 栈-20.有效的括号-力扣(LeetCode)
  • RAG系统中的Re-ranking引擎选择指南
  • Android SharedFlow 详解
  • Unity安卓平台开发,启动app并传参
  • 读文献先读图:GO弦图怎么看?
  • 瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读
  • Vue跨层级通信
  • 华为云Flexus+DeepSeek征文|实战体验云服务器单机部署和CCE高可用的架构AI赋能
  • 「Java教案」顺序结构
  • JS手写代码篇---手写apply方法
  • Rhino
  • 项目实战——C语言扫雷游戏
  • Python数据可视化科技图表绘制系列教程(二)
  • UART协议调试遇到的一个问题
  • C++算法训练营 Day8 字符串(1)
  • Linux 环境下 PPP 拨号的嵌入式开发实现
  • DPO算法微调实战
  • C++ 新特性详解:Lambda 表达式全解析(含实战案例)
  • Spring AI入门及案例、模型讲解、向量化和RAG等高级应用…
  • Elasticsearch中的监控(Monitoring)功能介绍
  • 3. 表的操作
  • cocos3.X的oops框架oops-plugin-excel-to-json改进兼容多表单导出功能
  • 《树数据结构解析:核心概念、类型特性、应用场景及选择策略》