ADworld
ADworld
PH Gao0x01 删库跑路
题目要求是恢复数据,提示有一款很强大的软件,我找到了winhex。
然后在恢复数据时错把选择文件夹的界面看成了不能恢复的意思,然后看了题解,与自己的操作一样,然后傻眼了
这告诉我要相信自己
qaq
0x02 凯撒大帝在培根里藏了什么
ABBABAABBAAAAABABABAABABBAAAAABAABBAAABAABBBABBAABABBABABAAABABBBAABAABABABBBAABBABAA
文件由A和B组成,一眼凯撒密码和培根密码的混合,网上找解密的网站即可
培根密码
由两个符号组成,每五个符号表示一个字母
加密时,明文中的每个字母都会转换成一组五个英文字母。其转换依靠下表:
原字母 | 对应培根密码 | 原字母 | 对应培根密码 | 原字母 | 对应培根密码 | 原字母 | 对应培根密码 |
---|---|---|---|---|---|---|---|
A/a | aaaaa | H/h | aabbb | O/o | abbba | V/v | babab |
B/b | aaaab | I/i | abaaa | P/p | abbbb | W/w | babba |
C/c | aaaba | J/j | abaab | Q/q | baaaa | X/x | babbb |
D/d | aaabb | K/k | ababa | R/r | baaab | Y/y | bbaaa |
E/e | aabaa | L/l | ababb | S/s | baaba | Z/z | bbaab |
F/f | aabab | M/m | abbaa | T/t | baabb | ||
G/g | aabba | N/n | abbab | U/u | babaa |
0x03 简单的base编码
一堆乱码,猜测是进行了很多次base64,多次解码后得到
F#S<YRa[$*x7,>{F3DH5N/3.5+J6WD%P841JRN_i51F1Z!
然后我就卡住了,看完wp后才知道含有#就有可能是base92编码
base家族特征
base16
16进制(0-9,A-F),没有“=”
base32
(A-Z,2-7,=)没有0,1
base64
(A-Z,a-z,0-9,+/(不同系统不同),=)
base85
base36
base58
(64减去O,0,+,/,I,i)
base91
(加上了符号)
base92
base62
0x04 来自银河的信号
还是看的wp,但是这道题爆炸有意思,解题思路在题目:来自银河的信号
我们都知道,NASA在之前曾向太空发送了旅行者一号和二号两张黄金唱片送向太空,里面包含了一些音乐与图像,而图像是如何保存在音频中的呢?这里参考b站视频
而这道题正是借用了这个概念。运用MMSSTV将音频转化为图片得到
f7liavga{1M_0105n_cC@okmei_nFge!s}
已经很像flag了,而且正好隔一个字母就是flag,所以我们有理由相信这是栅栏解密
f | 7 |
---|---|
l | i |
a | v |
g | a |
{ | 1 |
M | _ |
0 | 1 |
0 | 5 |
n | _ |
c | C |
@ | o |
k | m |
e | i |
_ | n |
F | g |
e | ! |
s | } |
连起来就是
flag{M00nc@ke_Fes7iva1_15_Coming!}
0x05 steg没有py
这道题看的wp
首先看见标题为steg没有py,猜测是用stegpy解决,然后原比赛的提示是16位密码,文件名刚好16位,解出来后为
根据此文件可知是仿射密码
Linux下使用stegpy不太会配置,于是我直接复制源码,在vscode上运行。
stegpy使用方法
stegpy可以将一段内容隐写到图片里
加密
stegpy 内容 图片位置
如果要加密码
stegpy 内容 图片位置 -p
然后输入密码
解密
stegpy 图片位置
如果有密码
stegpy 图片位置 -p
然后输入密码
解密后的文件在当前目录
关于用vscode运行
将所有文件放在一个文件夹。然后新建.py文件,源码复制进去,然后在终端
pip3 install stegpy
安装依赖
然后就能在终端运行
0x06 看雪看雪看雪
还是看的wp, 好菜啊
首先压缩包里只有一张图片,在使用stegpy和stegsolve后无果,猜测有其他文件被隐藏了。
用7-zip打开压缩包后发现另外4个文件
分别是
这道题大量出现雪,猜测有snow隐写,CtrlV试一试
果然有大量空白符,于是用解密工具解出来后得到flag
关于NTFS数据流隐藏
每个文件都有主文件流和非主文件流,主文件流能够直接看到;而非主文件流寄宿于主文件流中,无法直接读取,这个非主文件流就是NTFS交换数据流。
可用7-zip查看
关于SNOW隐写
工具网站以及详细介绍https://darkside.com.au/snow/
Snow隐写是一个用于隐藏文本文件中的消息的程序
在行尾附加制表符和空格,以及用于从包含隐藏消息的文件中提取消息。
制表符和空格对于大多数文本查看器是不可见的,这是Snow的隐写本质
使用方法
将含有隐写内容的txt文件复制到含有工具的目录,在此目录打开终端
如需加密,则
snow -C -m “I am lying” -p “hello world” 原文件 输出文件
-m表示内容,-p表示设置密码
如需解密,则
snow -C -p “hello world” 目标文件
PS:实际使用中要在snow前加上.\ ,暂时未找到原因
0x07 fakezip
通过这道题学习到了一一个新概念:伪加密
意思是其实没加密,但是看起来加密了
为了做到这一点需要了解zip文件的组成:
zip文件的组成
- 压缩源文件数据区,文件头标记为50 4B 03 04
- 压缩源文件目录区,头为50 4B 01 02
- 压缩源文件目结束标志,为50 4B 05 06
其中数据区和目录区文件头标记隔8位后为加密与否的标志,若均是00 00则为未加密
而伪加密则是利用这一点,直接更改加密标志让压缩包被打开始显示已加密,所以只需要改回去就行。
回到这个题
将压缩包在winhex中打开后,查找文件头标志
发现加密标志果然不对,
改为00 00后打开得到
本题结束
0x08 Check
压缩包打开是一张图片,用stegsolve发现存在lsb隐写
用html编码解码解出flag
0x09 碎纸机11
文件下载下来是一堆长条
联想到题目是碎纸机,能想象到这些拼起来应该是一张图片
于是…
我就真的去拼了
成品是这样:
有点暗,经过调色后识别出来为
flag{You Can Repair A Picture From Splices Baesd On Entropy}
本题结束
才怪!
这不对!怎么能用手拼?等到块数过多时根本不行!于是打开浏览器,学习了这种拼图题的一般做法:
需要用到两个工具
- ImageMagick
- gaps
ImageMagisk用来组合照片
gaps用来重组照片至正常
关于他们的使用跟着他们的官方说明就行
ImageMagick:https://github.com/ImageMagick/ImageMagick
gaps:https://github.com/nemanja-m/gaps
0x0a Let_god_knows
下载下来是一张图片:
在Red plane 0发现二维码
扫描二维码就行了
flag{Ok@y!G0d_know5_n0w}
0x0b 津门杯2021-m1
下载下来是一张图片
用Stegsolve打开,一眼感觉有用
1 | ZmxhZ3ts NURHcUYx |
然后我就卡住了,不知道该怎么用,尝试了凯撒密码,维吉尼亚密码,ASCII码偏移…都没用
最后看的wp才知道是base64编码
得到flag
flag{l5DGqF1pPzOb2LU919LMaBYS5B1G01FD}
0x0c 适合作为桌面
下载下来是一张图片,直接丢进stegsolve,发现二维码
扫描后得到一大段字符
03F30D0A79CB05586300000000000000000100000040000000730D0000006400008400005A000064010053280200000063000000000300000016000000430000007378000000640100640200640300640400640500640600640700640300640800640900640A00640600640B00640A00640700640800640C00640C00640D00640E00640900640F006716007D00006410007D0100781E007C0000445D16007D02007C01007400007C0200830100377D0100715500577C010047486400005328110000004E6966000000696C00000069610000006967000000697B000000693300000069380000006935000000693700000069300000006932000000693400000069310000006965000000697D000000740000000028010000007403000000636872280300000074030000007374727404000000666C6167740100000069280000000028000000007304000000312E7079520300000001000000730A0000000001480106010D0114014E280100000052030000002800000000280000000028000000007304000000312E707974080000003C6D6F64756C653E010000007300000000
尝试用base16解码未果,于是把这一段丢进winhex
发现有十分像flag的东西存在,特别是这一段
十分像栅栏解密,但是答案并不是这个…
于是我卡住了,思考良久,最终看了wp
这个标志:
说明它可能是python编译后的文件,所以我们需要反编译它,先将其保存为pyc文件,再使用这个软件,下载地址:https://sourceforge.net/projects/easypythondecompiler/
使用方法很简单,就是文件拖进去就行
反编译后发现一个函数,但没有调用,调用后得到flag
0x0d Aesop_secret
下载下来是一个动图,感觉能拼成一张图片,于是用photoshop打开再显示每一个图层后得到
然后用winhex打开动图,在文件最后发现一串看起来有意义的码
上网搜索后发生是aes解密,需要密钥,联想到图片中的ISCC,经过两次aes解密后得到flag
0x0e Test-flag-please-ignore
下载下来是一个不明文件,于是用winhex打开发现一段看似有意义的乱码
乱码中出现了0-9,a-e,判断为base16编码,丢进网站就解开了
0x0f [中等] QR1
下载下来是一张看似空白的图片,但是放大后有小像素点,仔细看整体组合起来是一个二维码,也正好对应了标题QR
用windows自带的画图工具把二维码变明显
扫描得到:
flag{AHA_U_Kn0w_QR_c0d3_312468ed-ea59-4fe9-9cd2-b5e9d8b39498}
0x10 我们生活在南京-2
下载下来是一段音频,题目中提到了CW,上网搜索后发现CW是以摩斯密码传递信息的方式,于是用Audacity打开音频,调至频谱图
窄的为短码,宽的为长码,丢进解密网站解密后得到:
按照题目要求稍作更改:
flag{cwi54tr4diti0nm3th0d}
0x11 我们生活在南京-1
下载下来是一段音频,听起来像倒放,将音频倒放后听到了一些单词,倒放的网站为https://audiotrimmer.com/cn/online-mp3-reverser/
题目中说“他们用无线电中惯用的方法区分字符串中读音相近的字母。”于是上网搜索,发现为了区分读音相似的字母,无线电中会以下面单词来代替对应字母:
字母 | 对应单词 | 字母 | 对应单词 |
---|---|---|---|
A | ALPHA | N | NOVEMBER |
B | BRAVO | O | OSCAR |
C | CHARLIE | P | PAPA |
D | DELTA | Q | QUEBEC |
E | ECHO | R | ROMEO |
F | FOXTROT | S | SIERRA |
G | GOLF | T | TANGO |
H | HOTEL | U | UNIFORM |
I | INDIA | V | VICTOR |
J | JULIET | W | WHISKY |
K | KILO | X | X-RAY |
L | LIMA | Y | YANKEE |
M | MIKE | Z | ZULU |
对应上表听音频得到flag
flag{radiowavesacrosstime}
PS:这道题答案给错了,官方wp中方法和我的完全吻合,但是答案却是给的“我们生活在南京-2”的答案
0x12 4433
下载下来是一张图片,用stegsolve打开,在Red plane 1发现二维码
扫描后得到
…–.----…–…
用摩斯密码直接解密解出来很奇怪,结合题目4433将密码分隔再进行解密得到
VYGUD
上交后提示错误,经过搜索,发现摩斯密码经常使用缩写,如该网站所示:https://www.docin.com/p-1607111065.html
发现“VY”是指的“VERY”,但是“GUD”却没有所指,因读音相近,猜测是“GOOD”,连起来是“VERYGOOD”,上交成功
0x13 肥宅快乐题
题目说打完游戏可得,于是就打完了游戏,游戏不长,得到以下对话:
U1lDe0YzaVpoYWlfa3U0aWxlX1QxMTF9
看起来是加密了的,丢进CyberChef,解出flag
PS:本来可以不用打游戏,但是现在支持swf文件播放的播放器太少了,potplayer和VLC都不支持了,干脆给他通关了
0x14 摩斯电码
下载下来是一个音频,听起来像摩斯密码,用Audacity打开发现长短交错
输入到网站解出flag
flag{THESECRETWDFLAGISMORESCODE1SFUN}
0x15 3-2
点开是一张动图,下载下来用PS调一调得到以下二维码:
扫描后得到一大串文本:
03f30d0ab8c1aa596300000000000000000200000040000000732e0000006400006401006c00005a00006402005a01006403005a02006404008400005a03006405008400005a040064010053280600000069ffffffff4e7403000000637466733d0000003138362c39382c3138302c3135342c3133392c3139322c3131342c31342c3130322c3136382c34332c3133362c35322c3231382c38352c3130302c3433630200000004000000070000004300000073610000007400006a01007c0100830100016401007d02007838007c0000445d30007d03007c02007402007403007c03008301007400006a04006402006403008302004183010064040017377d0200711a00577c02006a05006404008301007d02007c02005328050000004e7400000000690000000069ff00000074010000002c2806000000740600000072616e646f6d740400000073656564740300000073747274030000006f7264740700000072616e64696e7474050000007374726970280400000074040000007374723174030000006b65797404000000737472327401000000632800000000280000000073100000002f686f6d652f6374662f6262622e7079740500000066756e633107000000730c00000000010d0106010d012e010f016302000000040000000700000043000000735d0000007400006a01007c0100830100016401007d02007843007c00006a0200640200830100445d32007d03007403007c03008301007d03007c02007404007c03007400006a050064030064040083020041830100377d0200712300577c02005328050000004e52010000005202000000690000000069ff000000280600000052030000005204000000740500000073706c69747403000000696e74740300000063687252070000002804000000520b000000520a00000052090000007401000000692800000000280000000073100000002f686f6d652f6374662f6262622e7079740500000066756e63320f000000730c00000000010d01060116010c01240128050000005203000000520a000000740400000073747272520d000000521200000028000000002800000000280000000073100000002f686f6d652f6374662f6262622e707974080000003c6d6f64756c653e0100000073080000000c02060106030908
写入winhex,看起来像python的输出文件
进行反编译得到
再调用func2得到flag
flag{U_r_Greatt!}
PS:试了两个小时,怎么调用函数,用什么系统调用出来都是乱码,迫不得已看了wp,猜测是python生成随机数的算法变了
0x16 test.pyc
下载下来是一个pyc文件,进行反编译,失败后得到:
根据里面的‘base64’,乱码和等号,猜测是用base64加密了flag,把乱码组合起来得到
=cWbihGfyMzNllzZ0cjZzMWN5cTM4YjYygTOycmNycWNyYmM1Ujf
先反向再base64得到
再反向得到
gmbh|237e9g47f3c597186b2892g62g52f255~
前面4个字母刚好和flag差一位,推测是ASCII码表偏移,用以下代码得到flag
1 | c='gmbh|237e9g47f3c597186b2892g62g52f255~' |
flag{126d8f36e2b486075a1781f51f41e144}
0x17 challenge_how_many_Vigenère
步骤很清晰,先把得到的文本文件用维吉尼亚解密爆破出key和原文,爆破网站https://www.guballa.de/vigenere-solver
看原文应该是爱丽丝梦游仙境,英文名Alice’s Adventures in Wonderland,用得到的key进行加密得到flag
flag{osqjdcsvzjxfkoutsvdmoqcegnqc}
0x18 Hear-with-your-Eyes
下载下来一个位未知文件,用winhex打开看到有sound.wav的字样,猜测有个wav文件
直接改文件名不行,于是用winhex文件修复出一个压缩包含有soung.wav,结合标题猜测是频谱图写了东西,用Audacity打开得到flag
PS:这里的flag直接交后面的字符串
0x19 What-is-this
解压缩后是一个未知文件,用winhex打开看到有jpg的字样
转手改文件名没用,于是恢复文件出一个压缩包,含有两张图片,全是密密麻麻的像素点,用PS稍做处理,及讲其中一张图片的白色部分消去再重叠得到以下:
AZADI TOWER
0x1a glance-50
点开是一张动图,隐约有字母飘过,打开PS稍作处理得到flag:
TWCTF{Bliss by Charles O’Rear}
0x1b give_you_flag
打开又是一张动图,闪过了一张二维码,于是用PS打开
发现缺少三个角,给他补上后扫描得到flag
flag{e7d478cf6b915f50ab1277f78502a2c5}
0x1c stegano
点开是一个pdf文档,看到有水印想到可能藏在水印里,于是CtrlA+C+V到记事本果然在最后发现可疑文字,由B和A组成,首先想到培根密码
发现不行,然后想到摩斯密码,转换成摩斯密码后解密得到flag:
flag{1nv151bl3m3554g3}
0x1d 坚持60s
下载下来是一个jar文件,是一个需要你坚持60秒的小游戏,懒得玩,直接用jd-gui打开,找到结束语
直接提交不行,把花括号里的乱码用base64解码一下得到flag
flag{DajiDali_JinwanChiji}
0x1e gif
下载下来是一个gif文件,非常友好的给出了每一帧:
发现是黑白相间的,猜测是摩斯密码,以白色为0黑色为1,翻译得到
01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101
用摩斯密码解密没得到有效信息,猜测是二进制,解得flag
flag{FuN_giF}
0x1f 如来十三掌
下载下来是一个word文件,打开是一段天书:
想起来有一种加密叫做与佛伦禅,解密得到:
MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9
丢进Cyberchef后得到flag:
flag{bdscjhbkzmnfrdhbvckijndskvbkjdsab}
0x20 互相伤害!!!
下载下来是一个未知文件,用winhex打开发现wireshark字样,判断是pcap文件,于是改后缀名,导出http对象:
是很多图片:
找到这一张;
扫描后得到:
U2FsdGVkX1+VpmdLwwhbyNU80MDlK+8t61sewce2qCVztitDMKpQ4fUl5nsAZOI7 bE9uL8lW/KLfbs33aC1XXw==
base64解不出有用信息,上网查了发现这个U2Fs…是AES解密的特征,于是用AES解密:
解出一段不知道有什么用的文字
668b13e0b0fc0944daf4c223b9831e49
斟酌良久,然后就看了wp
题目叫互相伤害!!!,所以再图片中找到一张这样的图片:
不知道有什么用,binwalk一下出来一个压缩包
要我输密码,于是联想到上面的668b13e0b0fc0944daf4c223b9831e49,输进去得到一张图片:
扫描大的二维码得到以下文字:
扔下内衣真有一线生机????交出内裤才有活路!!!!
扫描小的二维码得到flag:
flag{97d1-0867-2dc1-8926-144c-bc8a-4d4a-3758}
PS:注意题目要求提交的是flag{}里面的,不用套上flag{}
补充:关于用AES解密和其密码,图片上是有提示的
小彩蛋:最后扫大二维码得到的扔下内衣真有一线生机????交出内裤才有活路!!!! 也有对应的图片,将那个图片binwalk也会出来一个压缩包,包里是一张二维码,扫出来还是 扔下内衣真有一线生机????交出内裤才有活路!!!!,不知有何用意