【WP】攻防世界-杂项-Misc
长期更新一波 攻防世界 的杂项题解
这东西主要靠积累吧
攻防世界:https://adworld.xctf.org.cn
因为攻防世界的题目顺序经常变化,我也不改序号了,顺着之前写的位置往下写,推荐使用 ctrl+F 搜索题目名字来定位
在语雀上建立了一个杂项知识库,收集杂项的知识点:https://www.yuque.com/hxfqg9/tx8y1v/uew75k
新手练习区
1、this_is_flag
题目直接给出了 flag
2、ext3
主要考察 linux 下光盘的挂载
strings 文件名 | grep flag
搜索文件中的可打印字符 grep:全面搜索正则表达式并把行打印出来
使用命令:mount linux ./linux_cd
将 linux(文件名) 挂载到 linux_cd 目录下,正常访问 O7avZhikgKgbF 文件夹即可看到 flag 文件,再经过 base64 解码得到最终 flag
3、give_you_flag
动态图,一帧一帧看(我用的是爱奇艺万能播放器),在第50帧有个二维码,但是少了三个定位图案,用 PS 补上,扫码得到 flag
4、pdf
下载下来直接把编辑 PDF,把图片拿开就可以看到 flag
5、坚持60s
一个 java 小游戏,用 jd-gui 打开,直接搜索:flag,得到,结果需要 base64 解码
6、如来十三掌
打开 doc,与佛论禅编码:http://www.keyfc.net/bbs/tools/tudoucode.aspx
解出来先 rot-13,然后 base64
7、gif
白为0,黑为1
01100110011011000110000101100111011110110100011001110101010011100101111101100111011010010100011001111101
二进制转字符串得到 flag
8、SimpleRAR
打开只有一个 flag.txt,但是用 winhex 打开发现应该还有一个 png 文件,
将这里改成74
再打开就看到了 png 文件,winhex 发现其实是个 gif 将后缀改成 gif
分离出来(我用的是 PS),然后用 Stegsolve 查看
把这个二维码拼起来,再把定位标志补上扫码得到 flag
9、掀桌子
网上师傅们给出的解密代码
- string = "c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2"
- flag = ''
- for i in range(0,len(string), 2):
- s = "0x" + string[i] + string[i+1]
- flag += chr(int(s, 16) - 128)
- print(flag)
每两个一组,将16进制转换为10进制,减去128以后输出 ascii
10、功夫再高也怕菜刀
下载到一个流量包,有 foremost 分离一下
得到一个压缩包,里面有 flag 文件,爆破就别想了(太复杂)
分析流量包!!
ctrl+F 搜索字符
选择第1150个,右键,追踪流 -> TCP 流
把这些保存下来
从 FFD8FF 开始到 FFD9 复制出来
打开 winhex 新建一个文件,把上面的粘贴进去,注意,选择 hex
可以看出是个 jpg 了
保存后打开图片
用这个密码打开压缩包里的 flag.txt
11、stegano
下载 PDF 在火狐浏览器打开,控制台输入:
- document.documentElement.textContent
看一下内容,会有一串
- BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB
把“A”换成“.”,把“B”换成“-”,得到:
- -.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--
解密摩斯密码,得到:
CONGRATULATIONSFLAG1NV151BL3M3554G3
真正的 flag 是:flag{1NV151BL3M3554G3}
这里因为格式不对,浪费了几个金币查看 writeup,结果 writeup 也没说格式,还是自己试出来的
2019.8.19:
这题 flag 格式又双叒叕改了,经过评论区的 @ConvexLens 师傅提醒现在 flag 是:1nv151bl3m3554g3
各位提交的时候不对,大小写啥的试试
12、base64stego
这个题接触了一种叫 base64 隐写的类型
python2 解密脚本:
- #coding=utf-8
- def get_base64_diff_value(s1, s2):
- base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
- res = 0
- for i in xrange(len(s2)):
- if s1[i] != s2[i]:
- return abs(base64chars.index(s1[i]) - base64chars.index(s2[i]))
- return res
-
- def solve_stego():
- with open('1.txt', 'rb') as f:
- file_lines = f.readlines()
- bin_str = ''
- for line in file_lines:
- steg_line = line.replace('\n', '')
- norm_line = line.replace('\n', '').decode('base64').encode('base64').replace('\n', '')
- diff = get_base64_diff_value(steg_line, norm_line)
- print diff
- pads_num = steg_line.count('=')
- if diff:
- bin_str += bin(diff)[2:].zfill(pads_num * 2)
- else:
- bin_str += '0' * pads_num * 2
- print goflag(bin_str)
-
- def goflag(bin_str):
- res_str = ''
- for i in xrange(0, len(bin_str), 8):
- res_str += chr(int(bin_str[i:i + 8], 2))
- return res_str
-
- if __name__ == '__main__':
- solve_stego()
高手进阶区
1、Excaliflag
使用 Stegsolve 在蓝色通道为0的时候发现 flag
2、签到题
base64 -> 凯撒 -> 栅栏
注意根据题目背景,是SSCTF,凯撒的时候看到 ssC 选择那一个进行栅栏
3、Avatar
下载图片,用 outguess 解密
- outguess -r avatar.jpg -t 1.txt
4、What-is-this
解压出来的文件直接 foremost 看看是什么
得到两张图片
使用 Stegsolve 打开一张图片,然后选择 Analyse => Imgae Combiner 选择另一张,会得到如图所示效果
5、Training-Stegano-1
图片直接用文本编辑器打开就看到了。。。
6、easycap
用 wireshark 打开,ctrl + F 搜索字符串,随便定位一个 右键 => 追踪流 => TCP 就能看到 flag
flag 是直接复制提交上去
7、Test-flag-please-ignore
这道题。。。难道不应该在新手区嘛?
8、Get-the-key.txt
下载的文件解压出来,用文本编辑器打开,随便一拖发现疑似 flag 的东西
找了所有的,试了很多都不对,网上搜了一下,然后 binwalk -e 超级多东西,但是第一个 txt 的第一句就是
9、glance-50
一个 GIF,巧的是之前在 freebuf 上看 python 操作图片的时候这就是一道例题
先用这个代码把每一张图片都保存在 yichen 文件夹(文件夹要提前创建好)
- from PIL import Image
- savepath = "yichen\\"
- path = '.\\'
- im = Image.open('2.gif')
- try:
- im.save(savepath+'2{:d}.png'.format(im.tell()))
- while True:
- im.seek(im.tell()+1)
- im.save(savepath+'2{:d}.png'.format(im.tell()))
- except:
- pass
在用这个代码把保存的图片拼接起来成为 yichen.png,并打开展示出来
- # coding:utf-8
- # author:Reborn
- from PIL import Image
- path = "yichen\\"
- save_path = '.\\'
- im = Image.new('RGBA',(2*201,600))
- imagefile = []
- width = 0
- for i in range(201):
- imagefile.append(Image.open(path+'2'+str(i)+'.png'))
- for image in imagefile:
- im.paste(image,(width,0,2+width,600))
- width = width +2
- im.save(save_path+'yichen.png')
- im.show()
省得你再去敲了:TWCTF{Bliss by Charles O'Rear}
10、4-2
字频分析,在线解密网站:https://quipqiup.com/
11、misc1
跟之前新手区那个 掀桌子 没啥区别
12、embarrass
在 linux 下直接 strings 命令
- strings misc_02.pcaong | grep flag
13、肥宅快乐题
使用软件:PotPlayer 查看 swf 文件,拖到后面,大概这个位置
与 NPC 对话,得到一串东西,其实是 base64 解码出来:SYC{F3iZhai_ku4ile_T111}
14、小小的PDF
直接 foremost,图片就分离出来了,气死我了 WPS 不充钱不让图片另存为,简直是钻钱眼里了
15、hit-the-core
长记性了,以后用 strings 命令不要总是跟着 | grep flag,不然很多东西会被忽略掉
发现下面这一串字符串,发现前面几个大写字母组成的是 ALEXCTF,根据这个规律,写出脚本
- flag0='cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}'
- flag=""
- for i in range(3,len(flag0),5):
- flag+=flag0[i]
- print(flag)
#参考:https://blog.csdn.net/zz_Caleb/article/details/89533039
16、Cephalopod
用 strings 发现 flag.png
追踪TCP流,把数据按照原始数据复制出来
粘贴到 winhex 里面,按照 ASCII Hex 的形式
把前面没用的都删掉,留到 png 文件头
打开图片发现 flag
HITB{95700d8aefdc1648b90a92f3a8460a2c}
17、pure_color
用 Stegsolve 打开,在 blue = 0 的时候看到 flag
flag{true_steganographers_doesnt_need_any_tools}
18、2-1
打开图片会发现提示格式错误,修改文件头以后还是打不开,根据大佬的说法:CRC32校验错误了,写脚本跑出来
把宽度那个地方改成这样
base64÷4
base64÷4=base16,直接 16 进制转字符串就可以
can_has_stdio?
打开是一个五角星,但是很明显是 brainfuck 把空格和换行去掉之后转换一下就可以
János-the-Ripper
解压出来,后缀改成 .zip 暴力破解得到 fish,打开得到 flag
Banmabanma
在线扫条形码 https://online-barcode-reader.inliteresearch.com/
Hear-with-your-Eyes
用 AUdacity 打开,看一下频谱图 e5353bb7b57578bd4da1c898a8e2d767
神奇的Modbus
输入 modbus 过滤一下,随便选一个追踪 TCP 流
快乐游戏题
把小猫围起来,围一个大点的圈就行
MISCall
按照压缩包打开
然后 git 操作一下
Reverse-it
用脚本:https://blog.csdn.net/YUK_103/article/details/103842782
Aesop_secret
ps 把 gif 每一帧拼接起来是:iscc
在 gif 末尾看到疑似 base64,实际是 AES,密码是 ISCC,两次解密出结果
https://www.sojson.com/encrypt_aes.html
倒立屋
zsteg 牛逼!!
另外因为是倒立屋,所以内容要反过来 flag{9102_cCsI}
a_good_idea
用 foremost 分离一下出来个压缩包,里面有两张图
Beyond_Compare 图片比较一下
2017_Dating_in_Singapore
把给的数字用短线分割
然后画出来,额根据比赛名可以知道第四个是 B
simple_transfer
直接 foremost 分理出 pdf,然后软件打开挪一下黑色的底色就能看出来了
Erik-Baleog-and-Olaf
winhex 打开之后,最下面藏了个网址,访问拿到一张图片。额好吧,走偏了
未完待续...
【WP】攻防世界-杂项-Misc的更多相关文章
- 记录下做攻防世界的misc题
0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. ...
- 攻防世界新手Misc writeup
ext3 在Linux,使用root账户挂载linux文件,打开后使用find *|grep flag查找到一个flag.txt,打开后是base64编码,解码获得flag. give_you_fla ...
- 攻防世界 杂项15.János-the-Ripper
下载附件并解压,我用的是WinHex打开,发现是PK开头,并且文件中包含一个flag.txt文件,应该就是我们所需要的flag. 把下载的附件改后缀为.zip,确实有我们需要的flag,打开后需要密码 ...
- 攻防世界 杂项14.Erik-Baleog-and-Olaf
下载解压后用notepad++打开 发现是一个PNG的图片文件,该后缀,再用Stegsolve打开看一下, 发现一个残缺二维码,果断在线PS补全 扫码得到flag flag{#justdiffit}
- 攻防世界 杂项13.can_has_stdio?
打开发现是由trainfuck编码组成的小星星阵容,果断交给解密网站进行解密, 解密网站:http://ctf.ssleye.com/brain.html flag:flag{esolangs_for ...
- 攻防世界 杂项 12.Training-Stegano-1
题目描述: 这是我能想到的最基础的图片隐写术.啊这 题目分析: 最初还以为直接右击属性查看呢 然后用notepad++看看,一团乱码,结果在最后发现了passwd, 然后这就是flag:stegano ...
- 攻防世界 杂项 11.simple_transfer
题目描述: 文件里有flag,找到它. 题目分析: 文件解压后是一个抓包流量分析文件,用 wireshark 打开后,用分组字节流搜索 flag,追踪 TCP 流,可以隐约看到有 file.pdf, ...
- 攻防世界 杂项 10.2017_Dating_in_Singapore
题目描述: 01081522291516170310172431-050607132027262728-0102030209162330-02091623020310090910172423-0201 ...
- 攻防世界 杂项 9.a_good_idea
题目描述: 汤姆有个好主意 解题思路: 首先按照隐写思路找了一下没找到flag,接着使用winhex打开图片,发现图片里面又包含了一张图片,然后马上改了一下后缀为zip, 解压后发现里面有:hint. ...
随机推荐
- C/C++ Qt 选择夹TabWidget组件应用
在Qt中通过使用选择夹组件可以实现在一个页面中集成多种功能,我们以TabWidget选择夹组件为例,实现在单个页面中集成多个功能,并给每一个子夹增加对应的Ico图标. 如果我们使用选择夹组件,必须提前 ...
- MYSQL5.8----M2
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_s ...
- shell 脚本自动插入文件头
vim编辑shell脚本自动插入文件头部信息,将下面的代码写入home目录xia .vimrc 文件即可. shell 文件头: 1 autocmd BufNewFile *.sh exec &quo ...
- lilo.conf
描述 默认情况下,本文件 ( /etc/lilo.conf ) 由引导管理程序 lilo 读取 (参考 lilo(8)). 它看起来可能象这样: boot = /dev/hda delay = 40 ...
- 关于latex简历几个非常有用的命令
大家知道latex是最好的排版系统,用来写论文,排版非常漂亮,用来做简历可以提升逼格,下面介绍几个有用的命令 几个有用的命令 section.cventry.cvitem.cvlistit ...
- C#多个标题头合并
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) { switch (e.Row.RowType) ...
- 学习java的第五天
一.今日收获 1.java程序设计完全手册第一章节的小总结 2.完成了部分例题验证解答. 二.今日难题 1.java语言与c++语言的不同点. 2.有例题验证不出来 三.明日目标 1.复习java程序 ...
- A Child's History of England.28
By such means, and by taxing and oppressing the English people in every possible way, the Red King b ...
- day10设置文件权限
day10设置文件权限 yum复习 1.修改IP [root@localhost ~]# sed -i 's#.200#.50#g' /etc/sysconfig/network-scripts/if ...
- C语言大小端判定
要判定大小端?需要弄清以下几个问题: 1.当一个变量占多个字节时,变量的指针指向的是低地址 2.什么是大小端? 大端模式:是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中. 小 ...