首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年06月 Bugku-Web(game1)

【愚公系列】2023年06月 Bugku-Web(game1)

作者头像
愚公搬代码
发布2025-05-28 15:02:46
发布2025-05-28 15:02:46
1200
举报
文章被收录于专栏:历史专栏历史专栏

前言

MD5是一种常见的加密算法,它可以将任意长度的信息进行加密并生成一个固定长度的哈希值(通常是128位)。MD5加密算法是不可逆的,即无法通过哈希值还原出原始数据。它被广泛应用于对密码、数字签名等敏感信息的加密处理。

接口签名指的是对接口参数进行加密处理,以确保请求和响应数据的安全性和完整性,防止数据被篡改或伪造。接口签名通常通过对请求参数进行加密生成一个签名值,并将签名值作为请求参数的一部分发送给服务器,服务器通过验证签名值的正确性来判断请求的合法性。具体作用和意义如下:

  1. 防止数据篡改:通过对接口参数进行加密处理,可以防止请求或响应数据在传输中被篡改或伪造。
  2. 防止重放攻击:由于签名值是根据请求参数生成的且每次请求的参数都不同,因此可以有效防止重放攻击。
  3. 提高接口安全性:接口签名可以在一定程度上提高接口的安全性,保障数据的可靠性。
  4. 监控和追踪:签名值是根据请求参数生成的,因此可以通过对签名值进行监控和追踪,进一步增强接口安全性。

一、game1

1.题目

2.答题

游戏类的,一般都是当分数高到一定程度时,就可以过关

开启bp进行抓包看看

发现:当我们游戏结束时,网页会发送一个包

点击看看

尝试直接修改 score的值

很明显,是不行的。说明有其他的参数来验证分数的真实性;这个参数可能是 sign或者可能在 cookie里。

解决:多次发送包(多次玩游戏,保持不同的值),对比不同的值

很明显,当分数不同时不同的包差距在于 score和 sign

对比sign发现 sign是由 zM + **** + == 构成

将第一个包中符合条件的四位数拿去cmd5解密,发现,这个就是我们的分数

因此确定了 sign = zM + base64(score) + ==

因此 我们要改分数,就需要将 score = 999999 并且sign = zM+ base64(999999) + ==

base64(999999) 这个具体的值可以去cmd5进行加密

数据包如下

成功拿到flag

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、game1
    • 1.题目
    • 2.答题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档