CTF刷题记录Buuctf_N1BOOK——afr_3

**

N1BOOK——afr_3

**

一、解题思路
1.打开题目发现一个输入框
在这里插入图片描述
既然是web题的话,还是先查看页面源代码

在这里插入图片描述
就发现使用的是POST的提交方式,没办法,只能看这个框的秘密所在了

在这里插入图片描述

2.直接输入1进行查询
在这里插入图片描述
页面提示说,你为什么不看我们的文章呢?这里是个出发的按钮,点击

在这里插入图片描述

3.又有提示说明,这是一篇示例文章?内心充满了困惑??????
抬头一看,URL好奇怪
http://80a3f61d-704d-4c38-b615-158bab104673.node3.buuoj.cn/article?name=article

这个URL的后面name通过get得到的值不同,可能会出现路径穿越或文件包含漏洞
测试:name=flag
在这里插入图片描述
4.name=index
在这里插入图片描述
测试到这的话,就可以很容易的推测出,此处利用是路径穿越漏洞
http://80a3f61d-704d-4c38-b615-158bab104673.node3.buuoj.cn/article?name=…/…/…/…/…/proc/self/cmdline

在这里插入图片描述

5.获取了当前系统使用的server.py文件
执行以下命令,得到源代码
http://80a3f61d-704d-4c38-b615-158bab104673.node3.buuoj.cn/article?name=…/…/…/…/…/proc/self/cwd/server.py

在这里插入图片描述
6.将源代码挡下来,代码审计了一波
在这里插入图片描述
发现:key.py可以访问得到key

http://80a3f61d-704d-4c38-b615-158bab104673.node3.buuoj.cn/article?name=…/…/…/…/…/proc/self/cwd/key.py
在这里插入图片描述

key:
Drmhze6EPcv0fN_81Bj-nA

7.代码的大体意思是,有两种路径,一种是/1page,一种是/article,而前者存在ssti漏洞,我们需要将n1code参数及其值装进session中,然后进行传参,达到ssti的目的。

加密脚本的获取方式
git clone https://github.com/noraj/flask-session-cookie-manager

这个脚本需要使用python3.x的版本进行运行,可以使用kali自带的python3,这期间可能会报错,主要的原因是你所需的库,没安装,需要自行安装。
在这里插入图片描述

8.当我们使用脚本得到session时,我们需要抓包,进行伪造cookie,得到flag
在这里插入图片描述

n1book{afr_3_solved}

在这里插入图片描述
二、知识点
1.Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其常见的文件系统不同的是,/proc是一种伪文件系统(即虚拟文件系统),存储的是当前内核运行状态的一系统特殊文件,用户可以通过这些文件查看这些关于硬件及当前正在运行进程的信息,甚至可以通过更改其中的某些文件来改变内核的运行状态。

/proc/[pid],当查看当前进程的时候可以用/proc/self代替
cmdline——启动当前进程的完整命令,但僵尸进程目录中的此文件不包含任何信息
cwd——指向当前进程运行目录的一个符号链接
environ —— 当前进程环境变量列表,彼此间用空字符串(NULL)隔开;变量用大写字母表示,其值用小字母表示。

2.FLASK之session伪造
通过使用python的模板注入,然后根据脚本, 获得session
参考链接:
https://blog.csdn.net/qq_44657899/article/details/104594655
https://blog.csdn.net/RABCDXB/article/details/115189884

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值