web

简单题,但是沃玛

在js文件里看到redrockctf函数,flag应该就在这里边

1

本来看到”Uh,f1a9!”的时候以为只有f1a9才是真正的flag,还蒙了好久,直到出了hint

0

ok,那手拼函数就完事了

2

第三部分分了两个,分别解码一下就出来了两个方法

3

4

写个c跑一下

5

显然第一个刚好是沃玛的b站uid,再把三个拼接起来就得到flag了(后边的#redr0cksrE2o22也要加上)

redrock{https://space.bilibili.com/53456#redr0cksrE2o22}

你是哪里的

1

直接打开,发现让我必须来自https://redrock.team

那就用burpsuite加上referer栏

2

发过去得到flag

3

redrock{we1c0me t0 redr0ck ctf}

我新写的代码啊

进入网页发现看不出来啥

dirsearch开扫,发现bak文件,下载

0

index.bak文件如下

1

分析一下可知if判断的路劲如下:

路径

看到两个判断是用md5,两个是用文本匹配,那就看一下md5加密绕过构建ABabc五个内容

参考:PHP中MD5加密的简单绕过及基于MD5加密的SQL注入_Landasika的博客-CSDN博客

用GET方法试一下md5绕过是否成功

2

看来确实是可行的,但是文中写到c要用POST方法传

参考:get_post 攻防世界 使用burpsuite发送GET、POST请求_Zhuoqian_1的博客-CSDN博客

构建一下c传过去,得到flag

3

redrock{Php!sv2ryg004}

RemindYourHead

把网址在burpsuite中打开一下,翻出来flag

(这flag每次都不一样,我比赛截的图和复现截的图不是同一个)

1

redrock{820a5bf5-4df9-4058-84a4-054af00b3b78}

Easy_upload

看到hint,提示有两个flag

0

看到是上传题,试一下一句话木马,但被拒绝了

1

那就试一下.htaccess文件绕过

2

2-1

在burp中把.jpg去掉,实现上传,再次上传一句话木马还是不行,那可能就在内容被检测了

参考:WEB漏洞攻防 - 文件上传漏洞 - CTF - [极客大挑战 2019]Upload-1

制作一下变形马,然后上传成功了

3

打开蚁剑然后连接

4

上传根目录发现一个flag和readflag,这个flag应该是真flag

readflag

在终端里发现是一点权限没有

5

看一下phpinfo

6

被禁用的函数有这么多

7

法一:蚁剑插件

那就用蚁剑里的插件绕过一下

8

由于LD_PRELOAD需要基于php连接才能绕过,所以我之前传的变形马是不能用

所以用蚁剑的上传功能,在上传根目录上传简单的一句话木马

12

然后重新制作.antproxy.php

15

完成绕过了disable_function,那就进入终端,输入readflag里提示的

tac ./flag

得到flag

17

redrock{2315jih452ghu542o5431giu5214huiog35431hp}

法二:LD_PRELOAD无插件版

详情[web]Easy_upload - 飞书云文档 (feishu.cn)

misc

签到

RT

0

redrock{020804}

芝士雪豹与只因

hint是一个png,先丢到binwalk里看看有没有藏东西

0

有藏另一个图片文件,那就foremost提取出来

1

看到是个二维码,但是左上左下缺了数据,那就用ps补全,然后扫码得到了提示:密码是qingshui

2

知道有密码,优先考虑一下MP3Stego,得到了个txt文件

3

里边是emoji,那就考虑一下base100解码

4

再把得到的用base64再解码得到flag

5

redrock{Sn0w_le0pard_Shut_up}

bug:

最开始用的mp3stego可能是版本有问题,丢进去提示

OpenTable: could not find tables/huffdec 
Check local directory './tables/' 
Please check huffman table 'huffdec'

在github上再下一个就解决了

啵啵的魔法药水

看到是docker题

0

法一:直接在docker hub里找

1

往下翻看到flag

2

redrock{Wit-Sharpening_Potion.}

其实这个方法是无奈之举,我kali安装的podman,甚至没办法pull这个镜像

法二:

卸载podman然后安装docker,pull这个镜像

0-6

然后用docker inspect查看镜像内容

2-1

往下翻找到flag

2-2

补:卸载podman

0-1

0-2

0-3

0-4

0-5

你TM故意压缩flag是吧?

显然,这是个有114514层的多层压缩,那就写个循环解压脚本

参考:递归解压zip文件_brightendavid的博客-CSDN博客

#coding=gbk

import os
import zipfile

dir = "C:\\Users\\*****\\Desktop\\work\\ctf\\unzip\\"

n = 0
s2 = ""

def jieya():
        i = "14514.zip"
        for x in range(114514):
            ss = i[:i.find(".")]
            print(i)
            zpf = zipfile.ZipFile(dir + ss + ".zip")
            list = zpf.namelist()  # 得到压缩包里所有文件
            for f in list:
                zpf.extract(f, dir, ss.encode('utf-8'))  # 循环解压文件到指定目录
            print(ss + "done" + str(f))
            i = str(f)

jieya()

这样解压114514层之后,得到了最后一层yyz

0

1

但是这个是加密的,而不知道密码,那就猜测是否为伪加密

参考:CTF之压缩包处理 (mchz.com.cn)

显然这个是真加密(试过都改00,没啥用)

2

那就直接爆破密码,用hash爆破一下

参考:ctf赛题MISC二维码_QJ_zjj的博客-CSDN博客

3

解压出来是个base64解密之后的内容,解码

4

其实用ARCHPR更快,只不过自带的字典纯纯垃圾,换个字典就几秒钟的事

5

redrock{arey0u0k?}

流量审计

看到flag点进去,看一下内容得到flag

1

redrock{yyz_is_god}

reverse

just_re_it

把exe文件丢进010 Editor看一下,只发现了个fake(?)flag

0

把这个输进文件再看看

1

好吧,好像这个确实是real flag

redrock{This_is_fake_flag}

水水爱听歌

得到pyc文件,在python反编译 - 在线工具 (tool.lu)反编译一下

0

看到zzz使用了base64编码,那就解码出来得到

She_bid_me_to_take_love_easy_as_the_leaves_grow_on_the_tree

再看一下代码,发现check函数时判断输入的flag变量和zzz是否相同(?),那就直接输入zzz(base64解码之后的),得到flag

1

redrock{044d7a01a972dc5882831e89676220c2dc3a3c142e16379a76a45680137a6b55}

赛博丁真

把exe文件丢进010看一下,得到flag

0

redrock{ggg_ding_zhen}

crypto

可惜我年轻无知

题目告诉我

yveypbl{kfu_h_kvhsq_mpfsq_dse_appjhgx_rhux_xvy_rpfje_spu_dqyvv}

显然,yveypbl=》redrock,这是一一对应的,那就是考虑映射,但显然手推不可能,就用词频分析

网站:quipqiup - cryptoquip and cryptogram solver

0

得到第一个就是,把空格换成_就得到flag

redrock{but_i_being_young_and_foolish_with_her_would_not_agree}

来自红岩的密文1

0

一看就觉得是Unicode编码,解码得到flag

1

redrock{Welc0me_T0_The_CTF_0f_redR0ck!!!}