博客
关于我
[watevrCTF-2019]Cookie Store
阅读量:788 次
发布时间:2019-03-25

本文共 876 字,大约阅读时间需要 2 分钟。

为了确保用户能够购买到100美元的Flag Cookie,尽管只拥有的钱是50美元,我们需要在技术层面进行操作和修改。以下是分步骤的解决方法:

步骤一:抓包分析

在购买按钮上点击,使用工具如Fiddler或Burp Suite抓包记录HTTP请求和响应。这一步确认会发送请求到服务器,获取当前购物车的金额数据。通常,这种数据会嵌入在Session或Cookie中。

步骤二:解码Session

查看浏览器中的Cookie,找到包含Session数据的cookie。这类cookie通常使用base64编码。使用在线工具或编码解码工具,将Session数据解码,从而获取原始的数据,比如{"amount": "100"}或其他与金额相关的信息。

步骤三:修改Session中的金额

使用解码后的Session数据,修改金额字段从50改为100。确保修改后的数据格式与服务器预期一致,避免引发反 CSRF检查。使用自动化工具或脚本进行操作,或者手动输入修改后的值,根据具体的数据结构进行替换。

步骤四:发送修改后的Session

将修改后的Session数据发送到服务器,通常需要模拟用户登录或重新提交购买请求。这一步骤可能需要处理重定向或验证流程,确保服务器接受修改后的请求。

步骤五:处理响应和获取flag

在服务器回复之后,查看cookie中的新Session数据,可能会发现金额已经更新为100美元。检查是否有flag或验证token的变化,这些通常也会嵌入在Session或cookie中。使用相同的解码方法,再次对响应cookie进行base64解码,获取隐藏的flag。

注意事项:

  • 确保脚本的稳定性和可维护性,避免因过度修改导致服务器拒绝。
  • 在修改Session时,可以选择直接替换cookie的值或通过其他方式触发金额更新功能。
  • 注意服务器可能的反-CSRF措施,确保修改操作的有效性。
  • 检查所有步骤是否符合网站的隐私政策和规则,避免触发反馈机制。

通过以上步骤,我们可以绕过价格限制,成功购买到100美元的商品,同时获取所需的验证信息。

转载地址:http://qaouk.baihongyu.com/

你可能感兴趣的文章
numpy中的argsort的用法
查看>>
NumPy中的精度:比较数字时的问题
查看>>
numpy判断对应位置是否相等,all、any的使用
查看>>
Numpy多项式.Polynomial.fit()给出的系数与多项式.Polyfit()不同
查看>>
Numpy如何使用np.umprod重写range函数中i的python
查看>>
numpy学习笔记3-array切片
查看>>
numpy数组替换其中的值(如1替换为255)
查看>>
numpy数组索引-ChatGPT4o作答
查看>>
numpy最大值和最大值索引
查看>>
NUMPY矢量化np.prod不能构造具有超过32个操作数的ufunc
查看>>
Numpy矩阵与通用函数
查看>>
numpy绘制热力图
查看>>
numpy转PIL 报错TypeError: Cannot handle this data type
查看>>
Numpy闯关100题,我闯了95关,你呢?
查看>>
nump模块
查看>>
Nutch + solr 这个配合不错哦
查看>>
NuttX 构建系统
查看>>
NutUI:京东风格的轻量级 Vue 组件库
查看>>
NutzCodeInsight 2.0.7 发布,为 nutz-sqltpl 提供友好的 ide 支持
查看>>
NutzWk 5.1.5 发布,Java 微服务分布式开发框架
查看>>