web
简单题,但是沃玛
在js文件里看到redrockctf函数,flag应该就在这里边
本来看到”Uh,f1a9!”的时候以为只有f1a9才是真正的flag,还蒙了好久,直到出了hint
ok,那手拼函数就完事了
第三部分分了两个,分别解码一下就出来了两个方法
写个c跑一下
显然第一个刚好是沃玛的b站uid,再把三个拼接起来就得到flag了(后边的#redr0cksrE2o22也要加上)
redrock{https://space.bilibili.com/53456#redr0cksrE2o22}
你是哪里的
直接打开,发现让我必须来自https://redrock.team
那就用burpsuite加上referer栏
发过去得到flag
redrock{we1c0me t0 redr0ck ctf}
我新写的代码啊
进入网页发现看不出来啥
dirsearch开扫,发现bak文件,下载
index.bak文件如下
分析一下可知if判断的路劲如下:
看到两个判断是用md5,两个是用文本匹配,那就看一下md5加密绕过构建ABabc五个内容
参考:PHP中MD5加密的简单绕过及基于MD5加密的SQL注入_Landasika的博客-CSDN博客
用GET方法试一下md5绕过是否成功
看来确实是可行的,但是文中写到c要用POST方法传
参考:get_post 攻防世界 使用burpsuite发送GET、POST请求_Zhuoqian_1的博客-CSDN博客
构建一下c传过去,得到flag
redrock{Php!sv2ryg004}
RemindYourHead
把网址在burpsuite中打开一下,翻出来flag
(这flag每次都不一样,我比赛截的图和复现截的图不是同一个)
redrock{820a5bf5-4df9-4058-84a4-054af00b3b78}
Easy_upload
看到hint,提示有两个flag
看到是上传题,试一下一句话木马,但被拒绝了
那就试一下.htaccess文件绕过
在burp中把.jpg去掉,实现上传,再次上传一句话木马还是不行,那可能就在内容被检测了
参考:WEB漏洞攻防 - 文件上传漏洞 - CTF - [极客大挑战 2019]Upload-1
制作一下变形马,然后上传成功了
打开蚁剑然后连接
上传根目录发现一个flag和readflag,这个flag应该是真flag
在终端里发现是一点权限没有
看一下phpinfo
被禁用的函数有这么多
法一:蚁剑插件
那就用蚁剑里的插件绕过一下
由于LD_PRELOAD需要基于php连接才能绕过,所以我之前传的变形马是不能用的
所以用蚁剑的上传功能,在上传根目录上传简单的一句话木马
然后重新制作.antproxy.php
完成绕过了disable_function,那就进入终端,输入readflag里提示的
tac ./flag
得到flag
redrock{2315jih452ghu542o5431giu5214huiog35431hp}
法二:LD_PRELOAD无插件版
详情[web]Easy_upload - 飞书云文档 (feishu.cn)
misc
签到
RT
redrock{020804}
芝士雪豹与只因
hint是一个png,先丢到binwalk里看看有没有藏东西
有藏另一个图片文件,那就foremost提取出来
看到是个二维码,但是左上左下缺了数据,那就用ps补全,然后扫码得到了提示:密码是qingshui
知道有密码,优先考虑一下MP3Stego,得到了个txt文件
里边是emoji,那就考虑一下base100解码
再把得到的用base64再解码得到flag
redrock{Sn0w_le0pard_Shut_up}
bug:
最开始用的mp3stego可能是版本有问题,丢进去提示
OpenTable: could not find tables/huffdec
Check local directory './tables/'
Please check huffman table 'huffdec'
在github上再下一个就解决了
啵啵的魔法药水
看到是docker题
法一:直接在docker hub里找
往下翻看到flag
redrock{Wit-Sharpening_Potion.}
其实这个方法是无奈之举,我kali安装的podman,甚至没办法pull这个镜像
法二:
卸载podman然后安装docker,pull这个镜像
然后用docker inspect查看镜像内容
往下翻找到flag
补:卸载podman
你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
但是这个是加密的,而不知道密码,那就猜测是否为伪加密
显然这个是真加密(试过都改00,没啥用)
那就直接爆破密码,用hash爆破一下
参考:ctf赛题MISC二维码_QJ_zjj的博客-CSDN博客
解压出来是个base64解密之后的内容,解码
其实用ARCHPR更快,只不过自带的字典纯纯垃圾,换个字典就几秒钟的事
redrock{arey0u0k?}
流量审计
看到flag点进去,看一下内容得到flag
redrock{yyz_is_god}
reverse
just_re_it
把exe文件丢进010 Editor看一下,只发现了个fake(?)flag
把这个输进文件再看看
好吧,好像这个确实是real flag
redrock{This_is_fake_flag}
水水爱听歌
得到pyc文件,在python反编译 - 在线工具 (tool.lu)反编译一下
看到zzz使用了base64编码,那就解码出来得到
She_bid_me_to_take_love_easy_as_the_leaves_grow_on_the_tree
再看一下代码,发现check函数时判断输入的flag变量和zzz是否相同(?),那就直接输入zzz(base64解码之后的),得到flag
redrock{044d7a01a972dc5882831e89676220c2dc3a3c142e16379a76a45680137a6b55}
赛博丁真
把exe文件丢进010看一下,得到flag
redrock{ggg_ding_zhen}
crypto
可惜我年轻无知
题目告诉我
yveypbl{kfu_h_kvhsq_mpfsq_dse_appjhgx_rhux_xvy_rpfje_spu_dqyvv}
显然,yveypbl=》redrock,这是一一对应的,那就是考虑映射,但显然手推不可能,就用词频分析
网站:quipqiup - cryptoquip and cryptogram solver
得到第一个就是,把空格换成_就得到flag
redrock{but_i_being_young_and_foolish_with_her_would_not_agree}
来自红岩的密文1
一看就觉得是Unicode编码,解码得到flag
redrock{Welc0me_T0_The_CTF_0f_redR0ck!!!}