继续刷题,找到一个 什么 蓝鲸安全的ctf平台
地址:http://whalectf.xin/challenges
(话说这些ctf平台长得好像)
1.
放到converter试一下:
在用十六进制转的时候能输出url编码,再把url转换一下:(这里用converter的unescape就可以)
这段,乍一看先懵一个base64吧。
解密后是这样的,那就清楚了,这是ascii码。直接工具转,或者对着表很快。
所以就是 key{welcometovenus}
2.
刚开始以为是栅栏密码,凯撒密码什么的。发现解开后没有啥东西。
那就试试键盘:
跟着感觉走,顺着这个键盘可以发现 B N C三个字符 一一对应上就行了
key{BNCBNNBNB}
3.
下载解压后是一个pcapng的流量包,用wireshark打开:
这个包还是有很多东西的。不过基本上都是上传图片啊什么东西。筛选出来http 发现最后上传了一个zip
在这直接用wireshark导出文件保存为zip(右键 有个extract)解压后得到一个这玩意:
不过我打开后都是空白的,以为这是不是传说中的doc什么的加密。出来后右键查看属性是有大小的,可能藏东西了,再看一眼详细信息:
妙。
key{23ac600a11eaffc8}
5.
这里数据包用wireshark打开会报错
而且根据题目和实际,这是个wifi的数据包,有wpa加密的那种。。。
这种题没接触过太多。。。(好像就一道)
所以这时候需要kali下的 aircrack-ng 工具 用字典暴力破解密钥
密码是 88888888.
之后 根据 essid 和 密码 进行破解:
essid可以直接用 aircrack-ng 命令查看
之后的命令是:
airdecap-ng shipin.cap -e 0719 -p 88888888
这里会生成一个dec.cap:
打开后找到说的视频网站:
ctf{push.m.youku.com}
6.
解压后还是用wireshark打开:
第一个直接右键 follow tcp streams:
看意思这个密码好像是假的 这里看下二进制。
7f是 del 就是删除的意思 这样就对上了 我们知道ctf中的flag 经常把字母变成数字
这样就是 backd00Rmate 就很ctf
flag{backd00Rmate}
7.
试了试栅栏和凯撒,都不太行。
但是越看越觉得像是base64.。。于是把加号和减号删掉
itislikevenusverymuch
key{itislikevenusverymuch}
8.
一看就是jsfuck了。直接f12运行:
这里%21是url编码,其实就是!
所以key{itisjavascriptenjoy!}
9.
看到后面有一串,尝试用16进制转:
这里看到 字符串是 alert|coolyougettheflag 然后结合这段代码。 split是以什么什么为分割,在这里就是 用| 来分割字符串,而后面的1 则是第几段。
(从0开始) coolyougettheflag就是我们要的了
所以:key{coolyougettheflag}
10.
打开后看:是一段base64
解密后放到txt是这样的:
嗯 你会发现 这其实看起来像一个二维码。。。。
所以 得用脚本了。。这里用了大佬的脚本:
# -*- coding: UTF-8 -*- # __Author__:pad0y from PIL import Image MAX = 256 with open('flag.txt', 'r') as f: c = f.read() newIm = Image.new('RGB', (MAX, MAX)) white = (255, 255, 255) black = (0, 0, 0) for x in range(0,MAX): for y in range(0, MAX): if c[MAX*x+y] == '1': newIm.putpixel((x, y), black) else: newIm.putpixel((x, y), white) newIm.save('flag.png')
分析后得到:
flag{QR_Code_666_!!_?}
11.
打开后还是jsfuck 直接f12运行:
这是编码的问题,保存下来为unicode形式,然后用winhex这样的软件打开:
所以:flag{? enusCtf}
12.
真没想到还有usb协议包。。。
打开后一脸懵逼。
然后逼急了直接notepad++打开,find Pwn:
Pwnium{408158c115a82175de37e8b3299d1f93}
13.
打开后还是流量包分析。可以在最后几次看到有 tar.gz的字样
一般这种题都是筛选http的 而且一般要找的东西 你看它的长度肯定不能是两三百以下的。 就从这里头慢慢细心的找。
所以我们就得从这段的tcp流里面提取出一段tar.gz
tar.gz的文件头是 1f 8b
用hex模式查看然后寻找1f:
把这段复制下来,到winhex里面,用hex方式导入,然后另存为.tar.gz的格式:
打开后就有flag了:
ISG{China_Ch0pper_Is_A_Slick_Little_Webshe11}
14.
这两道题都是分析文件中的sql注入语句,然后根据字符来确定flag的值。
这里转载大佬的文章,很详细:
https://blog.csdn.net/qq_34356800/article/details/83895210
15.
百度了一下 这是 传说中的夏多密码:
具体的解密:
https://www.33iq.com/group/topic/242254/
16.
打开图片,文本形式搜flag无果,详细信息没有。。。
用神器stegsolve看一下:
识别一下:
17.
图片用notepad++打开,最后发现flag.txt
试试直接改后缀变成zip,还真行,解压得到flag.txt:
flag{WelcomeT3WhaleCTF}
18.
这个直接用神器 stegsolve 逐帧分析 发现隐藏一个:
flag{youfindmeWHALE}
19.
直接详细信息:
flag{firsttry}
20.
还是用 stegsolve 逐帧分析:
GUETCTF{Y0u_sEE_m3}
21.
用stegsolve看,看详细信息,找flag无果。
用winhex打开:
兔子的脚下果然有东西,一段unicode编码,解出来:
flag{pE3kQzmaMN}
22.
点进去是个黑色的图片(加载不出来)
可以复制这个图片的链接到迅雷,直接就可以下载了。
(挺大哟,有7mb多。)
然后详细信息,stegsolve,文本搜索巴拉巴拉没有啥东西。
拖进winhex慢慢研究。
关于ihdr,涉及到最多的就是宽和高的问题。
这个图原图宽比高大出一倍多。是33多少来着。(我改完忘了。。。懒得重下一遍)
熟悉ihdr文件格式的可以直接去找,不熟悉的可以搜图片详细信息的高度宽度来定位。
在这里我把高度调整的很高,最终还是如我所愿。
FLAG{ihDR_ALSO_FUN}
23.
丢进stegsolve中发现了这个:
识别一下看看:
还以为有啥别的坑。。没想到直接出来了:
flag{AppLeU0}
24.
25.
打开后你会发现 末尾:
其实打开前就知道了这道题是需要修补文件头的,反正我电脑显示不出来图像。直接补全:
修改前:
修改后:
然后gif就能正常动了。
是里面的灰色那部分,总共4帧有关的吧,应该是base64编码,用stegsolve逐帧拿出来:
Y2F0Y2hfdGh1X2R5bmFtaWNfZmxhZ19pc19xdW10ZV9zaW1wbGU=
base64解码:
catch_thu_dynamic_flag_is_qumte_simple
要注意这里有坑。。。单词要正确
得改成:
key{catch_the_dynamic_flag_is_quite_simple}
26.
打开后老三样往上盘她。。。
发现没啥东西。
丢进linxu binwalk一下:
这里 的 15AFFB 丢进winhex是这样的:
看到后先把二进制转到16进制:
发现不对劲了。因为你转到16之后,就没可能再转了(157位 谁的倍数也不是)
那就看看01.。。。。又想起了上午那个 二维码 25的平方是625??
代码:(就是那道题改一下max)
# -*- coding: UTF-8 -*- # __Author__:pad0y from PIL import Image MAX = 25 with open('flag.txt', 'r') as f: c = f.read() newIm = Image.new('RGB', (MAX, MAX)) white = (255, 255, 255) black = (0, 0, 0) for x in range(0,MAX): for y in range(0, MAX): if c[MAX*x+y] == '1': newIm.putpixel((x, y), black) else: newIm.putpixel((x, y), white) newIm.save('flag.png')
二维码小的可怜识别一下:
SCTF{(121.518549,25.040854)}
27.
这道题涉及到的就是最低位这个东西。。。
最低位莫过于 0和1 自然而然就想到二维码。。。
原图在stegsolve下有隐写二维码但是只有一点。
bmp属于比较高位的,这道题以前有类似的,大概就是 用画图打开,然后另存为 png格式
然后再用stegsolve打开:
flag{i love u}
28.
图片拿过来老三样。。。啥都没有鸭。
然后用binwalk发现两个png:
一个大,一个小,不用说,大的肯定隐藏东西了。
用stegsolve打开大的文件,然后选择 image combiner 选择小文件:
sub(就是减的意思)
多了一条小红线。
所以我们去大文件的red0 看一看:
ISG{E4sY_StEg4n0gR4pHy}
搞定。
今天到这里。