BUUCTF_练[PASECA2019]honey_shop

[PASECA2019]honey_shop

文章目录

      • [PASECA2019]honey_shop
      • 掌握知识
      • 解题思路
      • 关键paylaod

BUUCTF_练[PASECA2019]honey_shop_第1张图片

掌握知识

页面信息收集,根据下载的图片找到下载链接,确定url的参数进行利用;session字段的解密和解密,session伪造的考点。

解题思路

  1. 打开题目链接,发现又是购买flag的题目,点击购买,提示购买不了,根据之前的经验直接选择抓包查看请求数据了。发现了可疑的session字段,做过了不少的session伪造的题目,看这个session字段应该也是能进行加解密的格式

BUUCTF_练[PASECA2019]honey_shop_第2张图片

BUUCTF_练[PASECA2019]honey_shop_第3张图片

  1. 使用python脚本对session字段进行解密,果然得到了数据,第一个数据根据购买之后页面回显的1336证明就是当前所有的钱数,第二个值不清楚什么意思,购买一个能买的起的进行抓包解密响应包的session字段,查看字段内容。现在就很明了了,只需要将后面的数据的1326修改的比1337大,session加密后替换原有的session字段就能购买得到flag

BUUCTF_练[PASECA2019]honey_shop_第4张图片

BUUCTF_练[PASECA2019]honey_shop_第5张图片

  1. 但是有关键的一环,就是session加密的时候需要私钥,所以还需要找到改题目隐藏的私钥才行。回到界面进行信息收集,发现源代码有/download目录,一看就是能下载文件,猜测可以利用进行目录遍历下载任意文件。来到界面发现一句话,点击图片就能下载,看来是和源代码相联的

image-20231029181447767

image-20231029181453191

  1. 点击之后成功下载图片,浏览器查看下载的图片,右键复制下载链接,可以看到下载的url路径,确定的传参参数为image。但在写笔记的时候想起来也能直接点击然后查看抓包,就能只看看到url路径,测试一番比上面的方便多了

image-20231029181848735

BUUCTF_练[PASECA2019]honey_shop_第6张图片

BUUCTF_练[PASECA2019]honey_shop_第7张图片

  1. 测试一下是否可以进行目录遍历进行任意文件下载,先访问/etc/passwd文件,响应包成功返回内容,证明可行性

BUUCTF_练[PASECA2019]honey_shop_第8张图片

  1. 根据前面的学习,url地址和前面的有道题很相似,看这url路径猜测像是python后端,去查看一下是否有源码泄露,查看/app/app.py文件发现返回没权访问

BUUCTF_练[PASECA2019]honey_shop_第9张图片

BUUCTF_练[PASECA2019]honey_shop_第10张图片

  1. 陷入僵局了,看来是隐藏到了某个很CTF比赛的一个文件中。根据之前的ssti模板注入的题目,相同的python后端,有一道题是读取一个当前运行环境的文件地址,尝试读取一下没想到还真藏在这里

image-20231029182655607

BUUCTF_练[PASECA2019]honey_shop_第11张图片

  1. 这样参数集齐,使用session伪造的脚本进行session加密,本地环境命令行执行失败,只能使用pycharm的功能填写形参进行运行得到session字段。

image-20231029183753862

image-20231029182920764

  1. 替换原来的session字段,购买flag,拿下

image-20231029183104487

关键paylaod

/download?image=../../../../proc/self/environ
/download?image=../../../../etc/passwd

encode -s JWHrgjoJhQLMVdb9efsOTiVd7P2pKlSa3MpgIDmk -t {'balance': 1326, 'purchases': ['Acacia honey']}  //私钥之前的没保存又重新获取的

你可能感兴趣的:(buuctf刷题,其他,笔记,web安全,linux,网络安全)