Bugku Misc Write Up (1-30)
Bugku Misc Write Up (1-30)
Aristore1. 签到题
扫码关注
flag
1 | flag{BugKu-Sec-pwn!} |
2. 这是一张单纯的图片
随波逐流打开图片分析得到
1 | 文件中包含key的Unicode码: |
然后 Unicode 转 Ascii
flag
1 | key{you are right} |
3. 隐写
随波逐流打开图片分析发现图片宽度和高度被修改过,打开修复后的图片即可
flag
1 | BUGKU{a1e5aSA} |
4. telnet
随波逐流秒了
flag
1 | flag{d316759c281bf925d600be698a4973d5} |
5. 眼见非实
docx 后缀改成 zip 然后打开
打开 word 目录下的 document.xml,搜索 flag
flag
1 | flag{F1@g} |
6. 啊哒
binwalk 提取出一个压缩包,发现解压需要密码
然后查看图片属性发现可疑信息照相机型号 73646E6973635F32303138
,尝试拿这个当密码解压缩包结果失败了
接着把这串字符丢随波逐流 base16 解码后得到了 sdnisc_2018
,再次尝试成功解压拿到 flag
flag
1 | flag{3XiF_iNf0rM@ti0n} |
7. 又一张图片,还单纯吗
binwalk 提取失败了,用 foremost 提取得到两张图片,其中一张图片上面就是 flag
flag
1 | falg{NSCTF_e6532a34928a3d1dadd0b049d5a3cc57} |
8. 猜
拖到百度搜图就出来了,刘亦菲
flag
1 | key{liuyifei} |
9. 宽带信息泄露
用 RouterPassView 打开 conf.bin
,搜索 username
flag
1 | flag{053700357621} |
10. 隐写 2
binwalk 提取拿到 flag.rar
和提示.jpg
(其实这不是一个 rar 文件,而是一个 zip 文件)
压缩包需要密码,再看图片知道这就是压缩包密码的提示
密码只有 3 个数字典爆破秒了(bushi) 附上源码
1 | import zipfile |
把文件名改回 flag.zip
然后运行代码得到找到正确密码: 871
后来在评论区看到了似乎是合理的解释:观察电脑键盘 KQJ
的上面对应数字,分别对应 817
,根据提示斗地主,国王与卫兵显然是一队,国王最大国王赢则卫兵赢,推出密码为 871
。然而本人不会打斗地主,让我想再久也想不出来的 (摊手)
解压拿到的图片丢随波逐流发现 Jpg文件结束标志[FF D9]后信息:f1@g{eTB1IEFyZSBhIGhAY2tlciE=}
,接着 eTB1IEFyZSBhIGhAY2tlciE=
base64 解码得到 y0u Are a h@cker!
flag
1 | f1@g{y0u Are a h@cker!} |
11. 多种方法解决
随波逐流秒了。文件中包含 data:image/jpg;base64 图片,转成图片后扫码即可。
flag
1 | KEY{dca57f966e4e4e31fd5b15417da63269} |
12. 闪的好快
masterGO.gif
里面有若干帧,每一帧都是一个二维码。写一个脚本,逐帧扫描二维码,然后把二维码里的内容存到列表里,最后把列表里的内容合并起来输出就好了。附上脚本
1 | import imageio |
运行脚本得到 flag
flag
1 | SYC{F1ah_sof4T} |
13. come_game
运行游戏,在游戏目录下发现存档文件 save1
,用十六进制编辑器打开存档,把 32
改为 35
就可以跳关了。保存之后再次打开游戏加载存档得到 flag
flag
1 | SYC{6E23F259D98DF153} |
14. 白哥的鸽子
丢到随波逐流发现 Jpg文件结束标志[FF D9]后信息:fg2ivyo}l{2s3_o@aw__rcl@
。栅栏密码解密,分为三栏时得到 flag{w22_is_v3ry_cool}@@
flag
1 | flag{w22_is_v3ry_cool} |
15. linux
随波逐流秒了,文件中包含 { } 符号。用记事本打开直接搜索 key{
也能很轻易地搜出来。
flag
1 | key{feb81d3834e2423c9903f4755464060b} |
16. 隐写 3
随波逐流打开图片分析发现图片宽度和高度被修改过,打开修复后的图片即可
flag
1 | flag{He1l0_d4_ba1} |
17. 做个游戏
当作压缩包解压了。用随波逐流打开 heiheihei\cn\bjsxt\plane\PlaneGameFrame.class
就可以找到 flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}
。RGFqaURhbGlfSmlud2FuQ2hpamk=
base64 解码得到 DajiDali_JinwanChiji
。
flag
1 | flag{DajiDali_JinwanChiji} |
18. 想蹭网先解开密码
根据题目提示写个字典先
1 | with open('dict.txt', 'w') as file: |
把下载的.cap
文件放到这里 cap2hashcat 转换得到一个.hc22000
文件
然后在 hashca 官网下载编译好的二进制文件
然后把字典和转换后的文件放到 hashcat 所在目录下,并在该目录下运行命令 hashcat.exe -m 22000 1342505_1733548984.hc22000 dict.txt --force
很快就解出来了
flag
1 | flag{13910407686} |
19. Linux2
随波逐流秒了
flag
1 | KEY{24f3627a86fc740a7f36ee2c7a1c124a} |
20. 细心的大象
binwalk 提取出一个 rar 压缩包,发现里面有一场图片 2.png
,解压需要密码
原图片 1.jpg
属性的备注藏了东西 TVNEUzQ1NkFTRDEyM3p6
用 base64 解码得到压缩包密码 MSDS456ASD123zz
随波逐流打开解压拿到的 2.png
分析发现图片宽度和高度被修改过,打开修复后的图片即可(后半部分和这题一模一样)
flag
1 | BUGKU{a1e5aSA} |
21. 爆照
binwalk 提取出一个压缩包,解压了发现一张动图和好多个没有后缀的文件
随波逐流打开发现都是 jpg 格式的,还原一下,发现 88.jpg
藏了一个二维码,扫码结果是 bilibili
888.jpg
属性里面藏了一串 base64 编码后的字符串 c2lsaXNpbGk=
,解码得到 silisili
8888.jpg
binwalk 一下出来一个压缩包,扫一下里面的二维码得到 panama
上面根据题目要求按顺序连起来就得到 flag 了
flag
1 | flag{bilibili_silisili_panama} |
22. 猫片 (安恒)
看提示先考虑 LSB 隐写。又根据提示,考虑顺序 BGR,不出所料地得到了一张 png 图片,保存成二进制文件然后用 foremost 分离出来发现了是半张二维码
丢到随波逐流发现图片宽度和高度被修改过,还原出完整的二维码,扫码得到百度网盘链接,下载解压 (此处必须用 WinRAR 解压,否则后面没法扫出隐藏的文件) 后里面的内容是 flag不在这里哦 你猜猜flag在哪里呢? 找找看吧
刚开始我还以为会是零宽字符隐写,但是拿去解密了发现不是,文件属性也没有信息,看来 flag 确实不在这。此时我想起来提示还有一个信息 NTFS
没用上,这是一道关于 NTFS 交换数据流的题
用 NtfsStreamsEditor 扫描出.pyc
文件,执行命令 uncompyle6.exe flag.pyc >flag.py
用 uncompyle6 反编译(需要 pip 安装 pip install uncompyle6
)
我反编译得到的内容如下
1 | import base64 |
这里的 ciphertext
就是上面的 encode
函数编码得来的,只要根据原来的函数写一个解码的函数就好了。(注:不知道为什么上面反编译得到的 ciphertext 是错误的。下面的 ciphertext 来自网络,代码是没问题的,看看得了😓)
附上代码
1 | ciphertext = [ |
运行得到 flag
flag
1 | flag{Y@e_Cl3veR_C1Ever!} |
23. 多彩
LSB 隐写 BGR 发现压缩包,先用 binwalk 把压缩包提取出来,发现解压需要密码
然后回到开始那张图片,用 StegSolve 打开,在 Red plane 0
发现法国奢侈品品牌 YSL 的商标,根据这些猜测这张图上面的是口红的色卡(?
于是先找了个网站,把图片丢进去,按顺序记录下每个颜色的的 HEX 值 #bc0b28
#d04179
#d47a6f
#c2696f
#eb8262
#cf1a77
#c0083e
#bc0b28
#bc0b28
#d13274
#691319
#bc0b28
#bc0b28
#d4121d
#d75b59
#dd8885
#dd8885
#dd8885
#7e453a
#7e453a
#7e453a
密码就是每个颜色的 YSL 对应口红色号的二进制转字符串 (脑洞太大了没想出来,看了网友的 wp 才知道这题来自 n1ctf-2018,贴个官方题解)。网上给的口红链接好像大多都失效了,我在这里贴一个目前能访问的
按照这个思路就可以得到色号 1,27,59,11,23,7,57,1,1,76,222,1,1,50,214,6,77,50,53,214,6
,根据上面的思路可以接出来密码是白学家
最后解压缩拿到 flag
flag
1 | flag{White_Album_is_Really_worth_watching_on_White_Valentine's_Day} |
24. 旋转跳跃
题目给的是一个.mp3
文件,再看提示 key:syclovergeek
,所以猜测是 mp3stego 隐写,密钥就是 syclovergeek
flag
1 | SYC{Mp3_B15b1uBiu_W0W} |
25. 普通的二维码
扫码得到一串乱码的东西 ¹þ¹þ!¾Í²»¸æËßÄãflag¾ÍÔÚÕâÀï!
,改用 GBK 编码得到哈哈!就不告诉你flag就在这里!
😓
记事本打开划到底发现了一串神秘数字 146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175
,用随波逐流发现是八进制转字符,直接就出来了
flag
1 | flag{Have_y0U_Py_script_Otc_To_Ten_Ascii!} |
26. 乌云邀请码
随波逐流秒了
LSB 隐写,顺序是 BGR
flag
1 | flag{Png_Lsb_Y0u_K0nw!} |
27. 神秘的文件
解法 1: 丢进随波逐流字典爆破出来了,密码是 q1w2e3r4
拿到的.docx
后缀改成.zip
,解压后在 docProps
目录下找到了 flag.txt
,里面是 ZmxhZ3tkMGNYXzFzX3ppUF9maWxlfQ==
,base64 解码就拿到 flag 了
解法 2: 压缩包里面的 logo.png
和提供的 logo.png
是一样的,可以用 ARCHPR 进行明文攻击
flag
1 | flag{d0cX_1s_ziP_file} |
28. 论剑
010Editor 打开图片,在中间发现了一长串二进制字符 01101101 01111001 01101110 01100001 01101101 01100101 01101001 01110011 01101011 01100101 01111001 00100001 00100001 00100001 01101000 01101000 01101000
(第一步就没想到😥藏在中间谁想得到啊😰)。转成 ascii 码是 mynameiskey!!!hhh
这串二进制字符后面的编码 38 7B BC AF 27 1C
很像 7z 压缩包的文件头 37 7A BC AF 27 1C
(这一步也没想到😭对文件头还不是很敏感),改一下然后保存
接着 binwalk 一下果然发现 7z 压缩包了
1 | DECIMAL HEXADECIMAL DESCRIPTION |
丢 kali 里面用 dd 命令 dd if=file.jpg of=output.7z skip=9591 bs=1
提取(if 是输入文件,of 是输出文件,skip 是指定从输入文件开头跳过 9591 个块后再开始复制,对应 binwalk 输出的 DECIMAL,bs 设置每次读写块的大小为 1 字节),解压密码就是上面解出来的 mynameiskey!!!hhh
接下来分别改一下下载下来的 file.jpg
和提取出来的 ljc2.jpg
的高度,把第 00A0 行(也就是十进制的第 160 行)的第 3 个数和第 4 个数改成 00 7E
结合两张图片未被遮挡的部分可以得到 Not flag{666c61677B6D795F6E616D655F482121487D}hhhh
中间的 666c61677B6D795F6E616D655F482121487D
十六进制转 ascii 码解出来就是 flag 了
flag
1 | flag{my_name_H!!H} |
29. 图穷匕见
随波逐流打开,发现 Jpg文件结束标志[FF D9]1个后面包含其他信息,可能存在多个文件叠加隐写或后接文本隐写
得到了一大堆点的坐标
写个脚本还原一下(也可以把 txt 再丢回随波逐流用 X,Y坐标串转图片
)
1 | from PIL import Image |
得到了一张二维码的图片,扫一下 flag 就出来了
flag
1 | flag{40fc0a979f759c8892f4dc045e28b820} |
30. convert
全是 0 和 1,首先考虑二进制转 ascii 码。太长了随波逐流打不开于是丢到 CyberChef,发现开头是 Rar
,保存为.rar
文件,解压就能发现一张图片
查看属性,发现主题藏了东西 ZmxhZ3swMWEyNWVhM2ZkNjM0OWM2ZTYzNWExZDAxOTZlNzVmYn0=
,base64 解码就行了
flag
1 | flag{01a25ea3fd6349c6e635a1d0196e75fb} |