官方WP:https://github.com/7Hxz233/2018-HITCTF-Challenges
佛了(……)靠运气打ctf.jpg 做的全是水题
CRYPTO-单表代替
正解:随意替换然后quipqiup
写个程序数了一下,27个俄文字母!说好的英文字母26呢!(后来发现大概是25+俩花括号)
单表么,决然统计频率啊,单个出现的‘ф’不是a就是i,总之‘у’是e已经没跑了,‘е’是t也很稳(
然后找找同时有已经确定的字母出现的单词,就这样推下来(……)很快就会发现原文是Gone with the Wind is a novel(ry)直接百度找到原文进而得到所有字母的替换关系,搞到flag
这里听说有个坑是首字母大小写,然而我替换用的word,没踩中坑(
Aft3r_all_t0morrow_1s_anoth3r_day,斯嘉丽的名句www
其实大概可以写个程序直接暴力破解,得到的东西查字典,单词在75%以上再输出
CRYPTO-多表代替
真·靠运气打ctf的典范
多表代替肯定维吉尼亚啊但是我不会写暴力破解啊!!!只能 盲目分析.jpg
注目原文中的‘11 Xsnvbonf 2012’,猜测是日期/月份/年份的格式,八个字母的月份只有2、11、12,慢慢搜8(……)
原文都搞到了剩下的emmmm岂不是稳了,Wishing You Were Somehow Here Again,歌剧魅影的插曲,怀疑出题的是个小姐姐(
结果初中看过的东西真的有能用上的一天,嘿呀
REVERSE-Baby Android
不就是异或么233333
REVERSE-网管的麒麟臂
REVERSE-学习资料的密码
结束一小时后写出来了,吃饭误我(……)
扔ida看一下main函数,发现要使v6=v4,且v6=basen(myread(v7)),v4是通过fopen读取到的密文。看了一眼myread,如果回车就返回result,result是键盘输入的字符串,那么问题就只在basen()。
basen()的逻辑十分好懂了(……)写个程序看一下密文长度67,如下图(判断密钥长度25然而事实证明并无卵用,我当时在想什么啊浪费时间)
靠意念传递(……)程序要跑挺长时间的,我当时还以为循环写太多要家祭无忘告乃翁了(
跑一下得到flag,HITCTF{3asy_b4se_3ight:)},我还傻乎乎地去程序里试了一下不对!直接提交就对了!!!嘿呀我怕不是个傻子(
MISC-HITCTF2018签到
谷歌就行了(。
我还试了YouTube的网址和视频简介,真吉尔丢人,后台怕是要笑死
MISC-BASO4
反编译pyc,这不就是base64和base32随机跑了20次么!
只有20次所以直接xjb跑了,次数多的话写个程序(……)见github上大佬写的WP里BASO4的部分:
18.2.14 edit:py2程序见附图
MISC-攻击流量分析
往下翻看到gzcompress,两个print_r分别是flag.txt和index.php。然而并无卵用甚至第一次搞错了把疑似index.php的东西搞出来了,昏迷
找了HTTP流,大家都找的TCP(……)我TCP解压出来是index.php啊是我方法不对吗!
MISC-use_your_ida
我还傻fufu地盯了半天想搞清楚逻辑!最后比赛结束群里大佬告诉我是距离视图啊啊啊啊啊啊啊啊啊这题分类是杂项啊靠!!!(察觉)
上面github那个链接里大佬写过了,就不再写了……
MISC-键盘流量分析
总之先把数据抓出来:
tshark -r keyboard.pcap -T fields -e usb.capdata > usbdata.txt
然后盲目分析(不是)反正八个字节的就只有一小段,手动搞出来了(
参照 Hut1_12v2.pdf 第53页,搞到flag,第一个字节02代表按下shift,即大写
http://www.embed.cc/html/xieyi/20170608/6787.html
BYTE1 --
|--bit0: Left Control是否按下,按下为1
|--bit1: Left Shift 是否按下,按下为1
|--bit2: Left Alt 是否按下,按下为1
|--bit3: Left GUI 是否按下,按下为1
|--bit4: Right Control是否按下,按下为1
|--bit5: Right Shift 是否按下,按下为1
|--bit6: Right Alt 是否按下,按下为1
|--bit7: Right GUI 是否按下,按下为1
是的web和pwn我根本就没碰……完全不会,溜了