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

你可能感兴趣的文章
mysql8的安装与卸载
查看>>
MySQL8,体验不一样的安装方式!
查看>>
MySQL: Host '127.0.0.1' is not allowed to connect to this MySQL server
查看>>
Mysql: 对换(替换)两条记录的同一个字段值
查看>>
mysql:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘解决方法
查看>>
MYSQL:基础——3N范式的表结构设计
查看>>
MYSQL:基础——触发器
查看>>
Mysql:连接报错“closing inbound before receiving peer‘s close_notify”
查看>>
mysqlbinlog报错unknown variable ‘default-character-set=utf8mb4‘
查看>>
mysqldump 参数--lock-tables浅析
查看>>
mysqldump 导出中文乱码
查看>>
mysqldump 导出数据库中每张表的前n条
查看>>
mysqldump: Got error: 1044: Access denied for user ‘xx’@’xx’ to database ‘xx’ when using LOCK TABLES
查看>>
Mysqldump参数大全(参数来源于mysql5.5.19源码)
查看>>
mysqldump备份时忽略某些表
查看>>
mysqldump实现数据备份及灾难恢复
查看>>
mysqldump数据库备份无法进行操作只能查询 --single-transaction
查看>>
mysqldump的一些用法
查看>>
mysqli
查看>>
MySQLIntegrityConstraintViolationException异常处理
查看>>