博客
关于我
[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/

你可能感兴趣的文章
MySQL 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>