一、WEB篇
作为队内的web手,差点连签到题都做不出来,属实是拉大胯丢大人了
web签到
<?php
//Author:H3h3QAQ
include "flag.php";
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET["YBB"])) {
if (hash("md5", $_GET["YBB"]) == $_GET["YBB"]) {
echo "小伙子不错嘛!!flag给你了:" . $flag;
} else {
echo "偶吼,带黑阔被窝抓到了!!!!";
}
}
很简单的代码审计,但是当时一根筋想着用数组和0e开头的md5值绕过,本地测试后也无法理解为什么打不通,后来经过其他师傅的提醒才知道hash函数中0e开头的纯数字字符串才和自身的md5值相等,然后用php写个脚本,电脑呼呼叫半天,拿到payload
<?php
for($i = 1; $i <= 10000000000; $i++)
{
if (hash("md5", "0e".$i) == "0e".$i)
{
echo "0e".$i;
break;
}
else
{
echo $i."\n"; // 方便查看跑了几位数
}
}
最终payload:?YBB=0e215962017
二、OSINT篇
osint三分靠运气,七分靠人脉,没有那人脉你站不住啊(痛心疾首
幸福小镇
很简单的签到题,直接百度搜索“幸福小镇”,就能在百度百科找到这张图原图,在角色表中进行对比,找到了被打码的角色可米以及声优杨鸥
ctfshow{可米_杨鸥}
以卵击石
略有歧义的一题,但是以我多年看b站的经验,马上就想到了绵羊料理曾经复刻过这一道菜,马上打开大姨的视频找出价格、馅料种数和BV号,发现提交的答案不正确,后来又仔细看了一遍题目,发现要找出的BV号是“复刻UP主第一次提到此甜点的B站视频号”,想起来大姨在发布复刻视频前雨哥和力元君的随机蹭饭挑战中先剧透了一波,于是找到雨哥的视频,提交flag
ctfshow{110_6_BV1664y1W7zS}
我的朋友
如果上题是靠积累与特征做出来的,那么这题就是靠人脉做出来的。找身边经常看电竞比赛的朋友问这是哪位主持人,答案呼之欲出:骆歆。然后去翻骆歆的微博,找到了穿这身衣服的日期以及主持的比赛,接着往上翻,第二部分的答案很快也就找到了
ctfshow{TES2:0OMG+RW2:0JDG}
抬头看看
嘿嘿嘿,自己出的题,这边直接把投稿的wp放出来吧
1、用“万能”的百度识图,找到这张照片的出处,从出处新闻中可以获取到两个重要信息:该照片于The Ivy餐厅附近拍摄、这张照片是曼联高层的一次聚会中拍下的。
2、在Google地图上搜索“The Ivy”,发现有二十多个结果,虽然可以一个个去排查,但是非常浪费时间,我们可以从新闻中得到的第二个信息下手:曼联。曼联是一家英格兰足球俱乐部,位于曼彻斯特。因此,我们可以通过排查,搜索位于曼彻斯特的“The Ivy”,发现结果只有一个:“The Ivy Spinningfields Manchester”
3、为了证明The Ivy Spinningfields Manchester就是我们要找的餐厅,在Google地图中查看该餐厅的街景图,发现正门的照片与新闻中的第三张照片中背黑色皮包的大叔(即索尔斯克亚)所处位置几乎一致,可以下判断这就是我们要找的餐厅。
4、利用Google街景,在The Ivy Spinningfields Manchester附近寻找红色砖瓦房,最终找到了这一栋和题目所给照片基本一致的房子,可以确定题目所给照片就是在这附近拍摄的。
5、放大Google街景图片,在房子的左边找到flag:FRIENDSSCHOOL
ctfshow{FRIENDSSCHOOL}
PS打卡第一天
附件是一个损坏的压缩包,一开始以为搞错了,还特意去和群主确认了一下,然后群主说这是题目特性,那好呗,直接binwalk,发现有四张图,然后foremost一下,拿到春夏秋冬四张图
在百度上一张张识图,最后在冬天的这张照片上发现了线索,结合标题“校园焕彩”和域名“lzu.edu.cn”,猜测是兰州大学,尝试提交flag,成功!
ctfshow{Lanzhou_University}
套套去哪儿
前面说过,打osint七分靠人脉,这题就体现得淋漓尽致
然后打开飞常准一查,诶,flag出来了
ctfshow{延安TV9817}
PS:我这个是超级非预期,预期解可以去看Suica姐姐的博客
见字如面
卡了一天的题,找了一天的阿勒代斯,从西布朗维奇微博找到虎扑再找到懂球帝,一无所获。到了晚上放出第二个hint的时候,才做了出来
hint1:想想是哪些人收到信呢,信字加粗一下
hint2:以写信收藏体育娱乐以及其他明星为主
百度搜索“以写信收藏体育娱乐以及其他明星为主”,可以发现信虫吧,然后在吧内搜索“山姆”,可以找到这张图的出处,进而找到发帖人的qq
ctfshow{893332587}
三、CRYPTO篇
密码不是我的强项,但这次居然能做两题出来,属于是铁树开花了嗷铁汁萌
我的木头啊!!!
根据题意,先进行栅栏密码解密
ctfshow{626173653136_mjqxgzjtgi_ymfzzty0_qztiehgb_@ux=h}
看样子应该是由五部分不同的密码组成的,于是分别解码,得到最终flag
626173653136 -> base16(base16解码)
MJQXGZJTGI -> base32(base32解码)
YmFzZTY0 -> base64(base64解码)
qzTiEHgB -> base58(base58解码)
@UX=h -> base(base85解码)
最终flag:ctfshow{base16_base32_base64_base58_base}
一封信
直接访问附件是一串乱码,把它另存为txt文件,发现是emoji加密
根据题目的提示“名为mooncake的信”,猜测加密密钥为mooncake,解密得到flag
ctfshow{Happy_Mid-Autumn_Festival}
四、MISC篇
杂项签到
附件是一张月饼图,用010打开后在后面发现一串字符串,base64解码后得到flag
ctfshow{we1come_to_mooncake_cap}
有手就行
查看图片的EXIF信息,发现了一串阿拉伯语,翻译后是“你知道汉明密码吗”,再用010查看图片信息,在最末尾发现了一串11位的二进制字符串“10110110111”,猜测需要对其进行编码
汉明公式:2^n >= x + n + 1 (n为校验码位数 x为二进制字符串位数)
根据汉明公式,我们可以得出2^4 >= 11 + 4 + 1,即校验码为4位
校验码位置:2^i(i=0,1,2,…,校验码位数-1)
也就是说,在这道题中,校验码的位置为1,2,4,8,因此我们可以列出以下表格(红方框表示校验码位置)
然后将需要编码的二进制字符串填入表格中
接着将序号中二进制数第1位(从右往左数)为1、第2位为1、第3位为1、第4位为1的序号以次放入第1、2、3、4组
第1组:1(0011) 3(0011) 5(0101) 7(0111) 9(1001) 11(1011) 13(1101) 15(1111)
第2组:2(0100) 3(0011) 6(0110) 7(0111) 10(1010) 11(1011) 14(1110) 15(1111)
第3组:4(0100) 5(0101) 6(0110) 7(0111) 12(1100) 13(1101) 14(1110) 15(1111)
第4组:8(1000) 9(1001) 10(1010) 11(1011) 12(1100) 13(1101) 14(1110) 15(1111)
分组完成后我们就计算出每一组中序号对应的值中有几个1
第1组:5个
第2组:4个
第3组:5个
第4组:5个
根据每组当中1的个数,我们就能计算出校验码的值,若为奇校验,则校验码为0010;若为偶校验,则校验码为1101
编码后的结果如下
奇校验:101101100110110
偶校验:101101110111101
经过尝试,偶校验的为flag
ctfshow{101101110111101}
project Tao-1
套娃题狗都不做