CTF秀--菜狗杯

目录

MISC

杂项签到

损坏的压缩包

谜之栅栏

你会数数吗

你会异或吗

flag一分为二

黑丝白丝还有什么丝?

我吐了你随意

这是个什么文件?

抽象画

迅疾响应

我可没有骗你

你被骗了

一闪一闪亮晶晶

一层一层一层地剥开我的♥

打不开的图片

WEB

web签到

web2 c0me_t0_s1gn

我的眼里只有$

一言既出

驷马难追

TapTapTap

化零为整

无一幸免

传说之下(雾)

遍地飘零

茶歇区

CRYPTO

密码签到

Caesar

0x36d

类型-7

g4的密码小课堂

Base47

@bash

This is Sparta

OSINT

碧海蓝天

我滴家乡

J某的行踪1

J某的行踪2

J某的行踪3

J某的行踪4

J某的行踪5

J某的行踪8

J某的行踪9

零碎的记忆1

零碎的记忆2

J某的过往1

J某的过往2


官方WP:https://ctf-show.feishu.cn/docx/UpC6dtDqgo7VuoxXlcvcLwzKnqh

MISC

杂项签到

解压后打开得到一张图片。

使用010Editor直接查找ctfshow得到flag。

损坏的压缩包

得到压缩包后无法解压,提示不是压缩文件。

使用010Editor查看文件头,确定文件格式。

确定文件为png文件,将后缀名改为png,得到flag。

谜之栅栏

解压压缩包得到两个文件,根据文件名提示使用010Editor进行比较。

比较后得到类似flag的两个字符串,再根据题目名提示,使用栅栏解密得到flag。

你会数数吗

解压文件后使用文本文打开。

根据题目名提示,统计所有字符个数,并按降序排序字符。

你会异或吗

解压后文件无法打开,根据题目名和提示信息,使用010Editor将文件每个字节进行0x50异或,得到新文件打开看到flag。

flag一分为二

解压得到一张图片。使用pngdebugger检测到CRC出错。

判断图宽或图高存在问题,使用脚本恢复图的宽高,得到一半后半部分flag。

根据题目名提示还有上半部分flag,根据下班部分的flag可以推测上半部分flag也是水印形式。使用WaterMark查看图片盲水印得到flag上半部分。

黑丝白丝还有什么丝?

题目为一段视频,根据题目名提示,观察黑白变化,同时注意转场变化。
结果:白黑黑、白白白白黑、黑白、黑、黑、黑黑黑黑黑、黑白白白、白白白黑黑、黑黑、黑黑黑、白黑白、白、黑白黑白、白白黑、黑、白、白白。
最后一个转场是特殊情况,后面两个白白是拜拜的意思。

 根据提示使用摩斯密码解密。

将解密后的字符串使用ctfshow{}格式包裹。

我吐了你随意

解压得到一个文本,根据文本名提示使用了0宽隐写,直接在线 http://330k.github.io/misc_tools/unicode_steganography.html 破译得到flag。

这是个什么文件?

压缩包解压是需要密码,使用010Editor查看使用了伪加密,将核心目录记录区通用位标记字段(控制加密)改为0000即可。

将更改后的压缩包解压得到文件名为2的文件,使用010Editor查看,结尾部分有module,判断文件为pyc文件,将文件名改为2.pyc。

使用终端进行pyc反编译。注意:使用前安装uncompyle6模块。

得到2.py文件后打开,运行代码即可得到flag。

抽象画

解压后是一串字符,类似Base加密,使用basecrack进行多重Base解密。

解密后得到一段十六进制数,根据前8个字节判断为png的二进制数据。将这段数据通过010Editor导入十六进制文件并将后缀命名为png。

根据图像和题目名提示,使用了Npiet直接进行解析得到flag。

迅疾响应

解压得到一个二维码,使用在线工具进行解密,得到前半部分flag,再对最左边纠错区进行破坏后进行解密,得到后半部分flag。

我可没有骗你

压缩包设有密码,且不是伪加密,直接使用archpr通过掩码方式破译密码。

解压后得到一个mp3文件,使用010Editor查看文件,发现文件为wav,更改文件后缀。

使用SilentEye对音频进行解密,先调高音频质量,在进行解密,得到flag。

你被骗了

解压之后得到mp3文件,使用MP3Stego导出隐藏文件,其中密码为文件名。得到文件打开就可以得到flag。

一闪一闪亮晶晶

解压文件,不要密码解压得到汉信码(四角都是司字形,二维码是回字形),还有一个需要解压密码才能得到的m4a音频文件。

 

使用在线工具解密汉信码得到解压密码,解压出音频。

播放音频,使用RX-SSTV破解音频,得到flag图片,在此之前先使用audiorepeater开启虚拟声卡。

 

一层一层一层地剥开我的♥

双击压缩包,提示文件损坏,点击确定后查看文件,发现是word文件,更改压缩包后缀为docx。

打开word文件,发现奇怪的文字,更改字体,得到英文提示。

使用010Editor查看word文件的文件模板,发现显示不了,证明文件中隐藏文件。使用binwalk命令分离文件。

得到有用文件后缀为rar的压缩包,解压时需要密码,通过上面得到的英文提示,查找小星星的简谱,得到解压密码。

解压得到一张jpg图片和一个文件,使用010Editor打开jpg文件,发现图片中隐藏了一张jpg图片。通过删除前部分,得到隐藏的jpg文件。

使用010Editor查看文件头和文件尾,发现是去头的rar文件,补齐文件头和后缀,再解压文件,解压密码为上面图片的明水印。

 

解压后得到文本文件,有一堆Emoji表情组成,使用Base100解密得到flag。

打不开的图片

解压后得到一个打不开的png图片,使用010Editor查看发现前四个字节与png前四个字节各相加为100,对数据取反得到png正确格式,打开新图片得到flag。

WEB

web签到

打开链接,得到PHP代码,分析代码。

令cookie中传入CTFshow-QQ群:=a,则有$_POST['a'],令post中传入a=b,则有$_GET['b']。
令get通过?传入b=c,则有$_REQUEST['c'],令c=1,则有$_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]]=1。
使c[6][0][7][5][8][0][9][4][4]=system("ls /")。system("ls /")表示查看该文件下的文件,找到f1agaa文件。
再使$_REQUEST[$_GET[$_POST[$_COOKIE['CTFshow-QQ群:']]]][6][0][7][5][8][0][9][4][4]=system("cat /f*"),查看f开头的文件内容。
以上命令通过插件HackBar传入,直接得到flag。

web2 c0me_t0_s1gn

直接F12打开页面底层,得到上半部分flag和下半部分的提示。

根据提示打开控制台,再根据提示在控制台上调用函数g1ve_flag(),得到下半部分flag。

我的眼里只有$

打开链接,得到PHP代码,分析代码。

令_=a0,$a0=a1,$a1=a2......,使用脚本将变量计算出来。再将变量通过post方式传入,最后将最后一个参数的值表示成查询。

一言既出

打开链接,得到PHP代码,对代码进行分析。

isset()函数用来验证是否参数不为空,即有参数传入。
assert()函数将字符串里面的代码当做PHP代码运行,当代码语法不出问题时返回True。
die()函数退出运行并输出提示字符串。
or的特点:当左边为真时右边不执行,只有当左边不为真时右边才会执行。
将num的值设置成114514);(0时,or左边为真,绕过die()函数,得到flag。
将num的值设置成114514);//时,or和右边部分全部被注释掉不执行,也就绕过了die()得到flag。

驷马难追

打开链接,得到PHP代码,对代码进行分析。

preg_match()函数用于匹配正则表达式,当有匹配的字符出现在表达式中,则返回1。
要绕过die()并且不能出现正则表达式中的字符,只能通过算术使or左边等式成立。
由于114514+1805296=1919810,令num=114514+1805296,先对+进行url加密,再通过url进行传值,得到flag。

TapTapTap

打开链接,F12,进入控制台进行跟踪,发现一串密文,对密文进行Base64解密,得到提示根据提示找到flag。

化零为整

打开链接得到PHP代码,分析代码。

count()函数用于统计数组个数。
strlen()函数用于统计字符串个数。
想要绕过die()函数,则GET传入的数组中字符串长度不能超过1,一个汉字使用url编码有三个。先将“大牛”使用url编码,再使用GET传入,得到flag。

无一幸免

打开链接得到PHP代码,分析代码。

分析这是一个永真式,给0任意赋个值即可。

传说之下(雾)

打开链接使用F12进入控制台,得到提示。

查看调试器,寻找有关分数的变量。

进入控制台输入Game.score=2077,开始游戏,吃一个果子,得到flag。

遍地飘零

打开链接,得到一段PHP代码。

对PHP代码进行分析。
foreach($arry as $key => $value){}的作用是将数组arry的键值分离,$key为键,$value为值。
var_dump()函数作用是打印出变量的类型、长度和值。
代码中进行了$flag的判断,证明存在$flag,代码中只有var_dump()可以输出,则使$_GET=$flag可以得到flag。
令_GET=a,则有:$key=_GET,$value=a,有:$$key=$_GET=$$value=$a,可知使用GET传入_GET=flag可以得到flag。

茶歇区

打开链接,使用F12打开元素区,查看传入时使用的变量名。

根据页面中提示是分数达到预计值得到flag,通过HackBar进行POST传值,在传值之前先将submit的值使用url编码。
注意:原理是使用了POST传值后计算溢出,这里需要传入两次,第一次传入后溢出为负数,第二次再通过溢出得到正数。

CRYPTO

密码签到

得到密文观察,直接使用hex解码得到flag。

Caesar

根据题目名直接使用凯撒解密,得到明文后使用ctfshow{}格式包裹。

0x36d

观察密文这是emoji加密,提示信息知道密码为题目名,直接在线解密得到flag。

类型-7

通过题目名提示,将密文使用Type7加密,得到flag。

g4的密码小课堂

解压得到py文件,使用pycharm打开。

分析代码:p1和p2接近,q1和q2接近,则p1q1与p2q2接近,p1q2与p2q1接近。
使用费马质因子分解,计算出p1q1、p2q2、p1q2、p2q1,从而求出p1、p2、q1、q2。

Base47

根据题目名和所给题目信息,判断使用进制计算,类似二进制转十进制。使用脚本进制转换得到flag。

@bash

根据题目名提示,密文使用了Atbash(埃特巴什码)加密,使用脚本直接解密,再使用ctfshow{}格式包裹。

This is Sparta

根据题目名提示使用了栅栏密码(sparta就是栅栏密码),直接使用栅栏解密得到flag。

注意:使用文本文中的密文,网页上的密文少了二个空格。

OSINT

碧海蓝天

解压文件,得到一张海景图和题目描述文本,直接使用百度识图,找到最接近的图片,分析出城市和景点。再使用ctfshow{}格式包裹。

 

我滴家乡

解压得到的图片直接去百度识图,确定地理位置,使用百度地图查看附近景点,之后使用ctfshow{}格式包裹。

J某的行踪1

解压后得到两张图片,一张图片放大后看到有提示,去百度搜索。

 

通过比对找到最合适的,使用ctfshow{}格式包裹。

J某的行踪2

解压得到一张图片,直接百度识图,找到一张相似且有提示的照片,根据解压图片上的提示和找到的提示进行百度搜索。

 

根据信息进行ctfshow{}格式包裹,得到flag。

J某的行踪3

解压得到图片使用百度识图,找到相似的图片,再通过图片来源找到信息,最后使用ctfshow{}格式包裹得到flag。

J某的行踪4

解压得到图片进行百度识图,通过图片来源找到信息,再使用ctfshow{}格式包裹得到flag。

J某的行踪5

解压得到一张图片,使用百度识图,得到一张有提示的图片,进行搜索,在使用ctfshow{}格式包裹得到flag。

 

J某的行踪8

解压得到图片后,根据图片上的细节进行谷歌搜索。

 

将搜索到的信息根据要求使用ctfshow{}格式包裹得到flag。

 

J某的行踪9

解压拿到图后使用百度识图,得到一张相似且有提示的图。

根据提示的店名去百度地图搜索,根据茶名去搜索饮品名,得到信息后使用ctfshow{}格式包裹得到flag。

 

零碎的记忆1

将解压出来的图片截取部分百度识图,根据图片来源找到位置信息,再使用ctfshow{}格式包裹得到flag。

 

零碎的记忆2

将解压出来的图使用百度识图,通过图片来源找到大致位置,再通过百度地图搜索到具体位置,最后使用ctfshow{}格式包裹得到flag。

J某的过往1

解压的图片中的水印提示进行搜索,可以找到原图,评论中有拍摄位置,再到百度地图进行搜索可以得到详细地址,使用ctfshow{}格式包裹得到flag。

 

J某的过往2

将解压的图片进行百度识图,根据图片位置使用百度地图进行详细搜索,再使用ctfshow{}格式包裹得到flag。

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值