Forensics
[签到]OSINT签到

识图直接得到结果
SICTF{海南省_海口市_琼山区_红城湖公园}这才是签到

可以扫到拍摄点,目的地由对话可以知道要走过小道(有一说一这个小道很抽象)。找了半天是没有找到,后面看其他大佬爆破出来的地方,发现是自己找的小道有问题。
SICTF{意大利_威尼斯_GondolaDanieli_ChiesadiSanZaccaria}树木的压迫
红框部分裁剪下来搜图可以得到关键词达州

查找达州体育馆得到flag
格式忘了,搜一下地址按照题目给的要求填真的签到

关键点我认为是找到摩天轮,边缘白色折线 中间不会发光 ,从这个视频里可以找到是在珠海,搜索珠海摩天轮商场可以得到flag
SICTF{广东省_珠海市_斗门区_大信新都汇}签退
爱莉✌搜的是墙上的蜘蛛侠得到地址,赛后试了下确实可以

我搜的是那个比较有标志性的门

得到地址,通过街景找到店铺,flag提交格式依旧抽象
SICTF{南非_开普敦_StrandSt_STEERS}Misc
[签到]签到
扫码回复得到flag
真💨签到

010打开加密压缩包结尾有一串数字,直接再次导入010得到一串编码

TVTTTVTXABYUXTXTXCARYYXAZCYYYUXV=一开始以为是base,但是提示说是文本加密字母,进行文本加密字母解密得到压缩包密码

解压出音频文件和一张图片,音频文件比较刺耳,放进audacity发现密码

一开始没注意到文件名是让把lagrange大写就没解出来,转化后密码为givemeyourLAGRANGE,用steghide提取,也可以用爱莉✌用的工具



但是这个脚本有个问题是路径还是不能有中文,比较局限。得到flag
SICTF{T3e_endless_Lagrange_is_really_fun!}WHO?WHO?WHO
压缩包不是伪加密,一开始还没出hint1进行常规暴力破解得到密码

解压得到txt文件,一看包含了零宽隐写,我的过程比较冗杂了,是先放进了sublimetext里看隐写类型然后再去网站解码

后面看爱莉✌的wp发现之前经常用到的b神的工具里自带零宽的检查

得到一串字符
U2FsdGVkX19uvldJ6CGUNff3B28QEdIjZqgUh98K+/0J16ELU8WVQydohw4P5+2M
jbhTLQHNOpcoOd7kSRgy8pwpovCmimdD8M0IbYUeXjNKYePL/WP4PCMaOJHAW3HR
b7IEoDDH1NYh3o5NwMmcFEqy1ujf72VgQIQkaeYFFFE=之前做过相似的,知道这个是Rabbit加密,密码当时hint2也没出,但是想到只有shumu是渣男这个文件名,就试了下,发现确实是,得到一串看起来和DNA有关的字符串

GTAGAGCTAGTCCTT{GGGTCACGGTTC_GGGTCACGGTTC_GAACGGTTC_GTAGTG_GCTTCA_GTAGACGTGGCGGTG_GTAGACTCA_TATGACCGG_GCTCGGGCT}当时直接拿到随波逐流一把梭没有出来,拿SICTF{}的头子自己算规律手撕才出(羞死了)。这里放出手撕出来的密码表。当时想的是ST相近 AC相近,类比一个四进制,A是CGG开始,顺序为ACGT

把符号去掉其实可以再随波逐流里一把梭出来(悲),就,觉得自己挺呆的

得到flag
SICTF{Q1A0_Q1A0_GA0_SU_N1_SHUMU_SH1_ZHA_NAN}复现题目
New Year's regret
根据题目提示进行掩码爆破得到压缩包密码

解压得到一个二维码和txt文本,先看txt文件发现全是01,先尝试二进制转文件,看了爱莉✌的wp发现b神的工具里还是有!

图片很多,挑了张比较清晰的来看,应该是音符解密


解码得到一半flag(感谢爱莉✌提供的网站!)
-PUTITALLTOGETHER再看图片是个汉信码,但是识别出来没有信息,foremost分离出一个压缩包解压得到一个txt文件,进行base64循环爆破

第35次报错,将第34次得到的码转图片得到二维码,扫码得到前面一段flag

SICTF{Congratulation_to_you!在foremost出的文件里还有一张图片,搜索出来是战双的武器,对照发现星级只有456三种,之前begin有道上岸学到摩斯密码是三向性,将得到的456字符串摩斯密码对应解密可以得到剩下的flag。
GeekChallenge
贴个爱莉✌的
from pwn import *
import string
HOST = 'yuanshen.life'
PORT = 00000
chars = string.printable
def guess_password():
    s = remote(HOST, PORT)
    server_greeting = s.recvuntil(b'>')
    print("Server greeting:", server_greeting.decode()) 
    pwd = ['0']*114
    arrk = 0
    for char in chars:
        guess = char*114
        s.sendline(guess.encode())
        response = s.recvline().decode().strip() 
        if '1' in response:
            arrk += 1
            print(f"Character found: {char}")
            print(f"Response: {response}")
            for i in range(len(response)):
                if response[i] == '1':
                    pwd[i] = char
        server_greeting = s.recvuntil(b'>')
        if arrk == 5:
            break
    pwd1 = "".join(pwd)
    print(f"Final password: {pwd1}")
    # s.interactive()
    s.sendline(pwd1.encode())
    flag = s.recvuntil(b'}').split(b'\n')[-1]
    print('This is flag:\n', flag.decode())
    s.close()
guess_password()总结
因为这次比赛时间也属于长时间的,之前打了Begin还没缓过来,打了第一天全天看了下题就说不打了,但是后面晚上没事儿干的时候又没忍住打开比赛,除了日志分析(还没看)misc的题还是不难的,更多的是自己的畏难情绪。本次比赛也让我对工具的认知有了更加深刻的认识,自己也写了一个base64自动解码的脚本,以及对pwntool库有了更深的认识。
