[PASECA2019]honey_shop writeup
2024-10-19 02:33:21
这是PASECA2019的一道web题
前端是一个蜂蜜商店,你有$1336
,可以买蜂蜜和flag。但是flag要$1337
,所以我们只能买蜂蜜。
一般这种题目的常规操作就是通过修改你的钱使你能够买到flag。但是看前端也没有什么提示,我们可以抓包观察。
抓包分析
买第一个蜂蜜之后的数据包是这个,显然item是你购买的商品序号,捕捉到session有点奇怪。
发送到repeater之后服务器也没有返回什么有用的东西。重新看前端界面,有一行字
*click to download our sweet images*
下载图片是html文件,我们在下载时抓包分析
在网页的/download?image=1.jpg
目录下
文件包含检查
我们针对服务器存在的文件做检查,比如linux里的/etc/passwd
,尝试一下本地文件包含/download?image=../etc/passwd
返回如下
有戏,继续尝试,直到这样/download?image=../../etc/passwd
那我们可以通过这个读取/proc/self/environ
(纪录当前进程,也就是python的环境变量)
/download?image=../../proc/self/environ
发现了secret_key,这个是Flask Session Cookie加解密中会用到的密钥。因此我们可以想到,这道题是将数据通过Flask Session Cookie加密后存在cookie中,那么我们想要修改钱,就可以伪造cookie。
密钥加解密
我们先将原cookie解密看一看
然后我们修改钱之后再加密
伪造完成,我们到买flag的界面,修改cookie
完成。
最新文章
- Neil·Zou 语录一
- CSS3 Media Queries模板
- 用R在字符串中提取匹配的部分
- 【开源项目之路】jquery的build问题
- Islands and Bridges(POJ 2288状压dp)
- ADO.net--杂七杂八(一)
- Android常用的工具类(转)
- 默认时,销毁会话,session_unset, session_destory
- shell编程的一些例子3
- BZOJ 1726: [Usaco2006 Nov]Roadblocks第二短路
- PHP实现队列的原理
- Android长按事件和点击事件问题处理,OnItemLongClickListener和OnItemClickListener冲突问题
- 浅谈Windows环境下DOS及MS-DOS以及常见一些命令的介绍
- JAVA WEB快速入门之环境搭建
- 利用BGP虚拟下一跳实现链路负载均衡
- h5活动页开发总结记录
- AI 循环神经网络
- 部署AWStats分析系统
- C# ConcurrentDictionary实现
- Flink - FlinkKafkaProducer010