buuctf-Misc91-120题wp
九十一、[SWPU2019]Network
10MB的txt貌似是rgb
1016*746
这个时候处理数字的时候发现只有四个数63,127,191,255,应该不是rgb
重新看txt文件,出现了四个数,这四个数字转成8位二进制后,只有最高两位二进制不同,我们尝试写一个脚本将其最高两位提取出来,并且4个一组转换位ASCII
这里贴一个脚本
1 |
|
伪加密
直接用7z压缩包打开
base64解密
需要很多次的解密,用脚本
1 |
|
flag{189ff9e5b743ae95f940a6ccc6dbd9ab}
九十二、[SUCTF2018]single dog
一张图片
foremost出一个zip
这是js颜文字加密,直接用浏览器控制台就可以解密了
但是这个不是flag
重新找在线解密https://www.qtool.net/decode
这个颜文字叫aaencode解密
九十三、[MRCTF2020]千层套路
之前打过这场比赛
先是套娃压缩包,压缩密码是文件名
1 |
|
先把第一个文件名获取了,因为pwd后面是b’所以要把密码变成utf-8的编码方式
报错的时候循环结束
解压600次
打开是rgb值
我把括号去掉了
方便代码运行
1 |
|
先是要算一下长宽,不然图片畸形,
算200*200吧
把代码里面的x,y改成200,200
九十四、[GUET-CTF2019]虚假的压缩包
虚假的压缩包是伪加密
里面是一个txt
这是一个RSA
先分解n求出p,q分别为3,11
已知p,q,e求d
已知c,d,n求m
得到m=5
挂一个整合的脚本
1 |
|
下面写着答案是
那压缩密码应该就是:答案是5
这图肯定是有用的
修改图片高度得到
异或5
脚本跑一下(python2)
1 |
|
把那个文件名改成cipher
得到一个doc文件
结尾感觉有东西
九十五、[WUSTCTF2020]爬
应该是个pdf
算是Pdf隐写
就分离出一张图片
这应该方向错了,正确的方向就是提示里的flag被图片挡住了,那目的就是把图片移开
电脑上没什么软件,直接用手机的wps了,而且wps有会员
点击编辑之后,应该就自动把pdf转成word了,然后下面点 图片编辑
就可以选中图片把图片移开,看到图片下面藏着一个图片
一串编码还是十六进制的,考虑十六进制转字符串
http://www.bejson.com/convert/ox2str/
flag{th1s_1s_@_pdf_and_y0u_can_use_phot0sh0p}
九十六、[WUSTCTF2020]girlfriend
然后有一段音频
是拨号音
http://dialabc.com/sound/detect/
用这个网站
999*666*88*2*777*33*6*99*4*444*777*555*333*777
这个在线的识别好像不准,找到一个本地的识别软件dtmf2num
999*666*88*2*777*33*6*999*4*4444*777*555*333*777*444*33*66*3*7777
这个在ctf-wiki有讲过是手机键盘密码
http://dyf.ink/crypto/classical/others/#_24
999就是指按三下数字9得到的字母也就是y,以此类推,数字对应手机的每个键位,几个数字代表按几下
999 —> y
666 —> o
88 —> u
2 —> a
777 —> r
33 —> e
6 —> m
999 —> y
4 —> g
4444 —> i
777 —> r
555 —> l
333 —> f
777 —> r
444 —> i
33 —> e
66 —> n
3 —> d
7777 —> s
youaremygirlfriends
九十七、[ACTF新生赛2020]swp
压缩包里面有一个流量包,看了http导出,有很多的文件,我直接用foremost提取出来了,发现有个压缩包
打开压缩包先会提示压缩包损坏,但是点确定之后又会显示上面的图的样子
用7z解压掉,提示是这样的
先不管
里面的flag.swp很奇怪,在notepad++打开,找了半天还真找到flag了
flag{c5558bcf-26da-4f8b-b181-b61f3850b9e5}
九十八、[MRCTF2020]CyberPunk
一个exe文件
改时间到2020.9.17就会出flag了
最方便的就是改系统时间了
九十九、[GKCTF2020]Harley Quinn
看hint说电话音,听一下音频,在最后听到拨号音
用这个软件把后面那段鼠标选中,复制到新建的文件里面保存
参考九十六题的方法
两个方式出来的结果都不准确,都是错误的,主要是次数经常检测出错,我们重新听一遍比一比就知道了
#222833344477773338866#
这也是手机键盘号,和九十六题也一样
#ctfisfun#
然后再看第二个hint
FreeFileCamouflage这是一个软件
FreeFileCamouflage 是一款将重要文档以 AES 加密算法存放到 JPG
格式的图片中,于是开始下载使用如下, passwd 就是之前得到的 ctfisfun
这里只能打开jpg后缀的图片,这个图是jpeg的,所以把图片后缀改成jpg
点一下左边的De-Camouflage!右边会弹出绿色的字
然后在桌面就可以看到了
导出一个flag.txt文件
flag{Pudd1n!!_y0u_F1nd_m3!}
一百、[RCTF2019]draw
这是一种题型吧,用一个叫logo解释器的东西进行解析
https://www.calormen.com/jslogo/
这是使用工具
https://personal.utdallas.edu/~veerasam/logo/
这个应该是对这张方法的解释
flag{RCTF_HeyLogo}
一百零一、[安洵杯 2019]easy misc
把这个hint算一下
FLAG IN 7 + NNULLULL, 别忘了后面的逗号,是个巨坑
这个应该是压缩包密码,并且这个很可能是掩码爆破
秒出结果
在read文件夹里面有很多的txt
里面都是各种乱七八糟的好像英语文章一样的,怀疑是字频隐写
但是肯定不是这么多txt都要用,可能是其中一篇
下面有个hint说取前16个字符应该意思就是取前16个高频字符组成flag
那就去看看那张图片有什么信息
binwalk发现隐藏png,foremost提取
两张内容一样,大学不一样的图片
一般这张情况考虑盲水印
盲水印有两个工具来解
一个是github上的项目
https://github.com/chishaxie/BlindWaterMark
里面有两个py文件分别代表python2或3版本的
python2兼容性最好,我用ubuntu运行这个脚本
1.png和2.png就是题目的两张图,然后导出flag.png这张图
需要注意的是这个脚本需要安装一个库
1 |
|
水印是 in 11.txt
还有一种工具是这个软件
https://www.anxz.com/down/10929.html
一般如果这个python项目解不出来可以尝试这个软件
目前还不知道为什么不能添加两张图片,这个软件的使用先放着
然后我们用11.txt进行字频统计
之前用过这个代码
1 |
|
结果是前十六位即etaonrhsidluygw
然后看最开始的decode.txt对应一下
QW8obWdIWT9pMkFSQWtRQjVfXiE/WSFTajBtcw=
直接base64解码
Ao(mgHY?i2ARAkQB5_^!?Y!Sj0ms
这还不是flag还要base85解码
flag{have_a_good_day1}
一百零二、[SUCTF2018]followme
一个流量包,有十几兆,先想到binwalk
这么一张gif很奇怪
看了半天分析不出来,可能想复杂了,直接进流量包搜索suctf和flag
在分组详情里找,直接找到了flag
SUCTF{password_is_not_weak}
一百零三、派大星的烦恼
派大星最近很苦恼,因为它的屁股上出现了一道疤痕!我们拍下了它屁股一张16位位图,0x22,0x44代表伤疤两种细胞,0xf0则是派大星的赘肉。还原伤疤,知道是谁打的派大星!(答案为32位的一串字符串)
注意:得到的 flag 请包上 flag{} 提交
这题给了一个压缩包里面有一张图片,这个压缩率很高,说明冗余数据很多
先是想到把这个用01表示
然后对上题目的说明,但是不行
于是用winhex打开看看
看上去好像都是F0,但是因为看到图片上有一条东西,所以这个数据肯定也有那么一块区域是不一样的
找到了,题目刚好说22和44是伤疤,和这个对上了
我们将 “ 替换为0, D替换为1
0110110000101100000011000110110010011100101011000000110010000110101011000010110010001100000111000010110001000110001001101010110001100110101001100110110001000110011011001010011010101100010001100010110011000110101001100010110011001100000111001100110001001100
像这张二进制的东西有好几种思路处理,一种是把1去掉用0来摆图案,摆出flag
但是根据题目描述这样肯定摆不出来的
另一种就是用01来用python画二维码
1 |
|
这个脚本好像是错的,生成的图片有问题,本来应该生成下图这样的,代码先放着
并不是二维码
然后就是二进制转字符串了
但这里有问题,它并不能直接转换为ascii,可以看出第三位 00001100
就已经不能转换为可显示字符
这时候可以变换一下
从头开始将每八位二进制数倒序,得到字符串,成功
贴一个别人的脚本
1 |
|
flag{6406950a54184bd5fe6b6e5b4ce43832}
一百零四、[MRCTF2020]不眠之夜
拼图题,拼完就有flag
之前这场比赛的时候我是用ps拼的
flag{Why_4re_U_5o_ShuL1an??}
这里尝试一下用软件拼
imagemagick先用这个软件把多张图片拼到一张图片里面去
http://www.imagemagick.com.cn/index.html
中文网
http://www.imagemagick.org/script/index.php
英文网
http://railscasts.com/episodes/374-image-manipulation
这个是说明吧
不需要管官网上的安装方法(在windows上安装太麻烦了,还不好用,我们直接在ubuntu里面装)
1 |
|
一条命令即可
测试到底安装了没有可以使用这个命令试试能不能把照片变黑白
1 |
|
cat.jpg是原始文件,grey.jpg是变黑白之后的文件名
成功之后我们试着拼图
先查看文件夹里面一共有121张图片,就是11*11
然后cd到这个文件夹
1 |
|
把当前目录下的所有jpg图片拼到一个flag.jpg的图片里面去
应该是成功了的
然后用gaps这个项目进行拼图
https://github.com/nemanja-m/gaps
下载打开到当前目录
1
2git clone <https://github.com/nemanja-m/gaps.git>
cd gaps用linux系统安装
1
2pip install -r requirements.txt
sudo apt-get install python-tk还要用linux
1
pip install -e
所有都安装成功了
文件夹里面有实例图片
1
create_puzzle images/pillars.jpg --size=48 --destination=puzzle.jpg
代表原图分割成功
拼图
1
gaps --image=puzzle.jpg --generations=20 --population=600
指定大小的拼图
1
gaps --image=puzzle.jpg --generations=20 --population=600 --size=48
不指定的话,很多时候不能完成
这个size就是小正方形的边长,如果是长方形就取长宽的最大公因数
我们输入
1
gaps --image=flag.jpg --generations=20 --population=600
有一点误差,但是flag已经很清楚了
一百零五、粽子的来历
曹操的私生子曹小明因为爸爸活着的时候得罪太多人,怕死后被抄家,所以把财富保存在一个谁也不知道的地方。曹小明比较喜欢屈原,于是把地点藏在他的诗中。三千年后,小明破译了这个密码,然而却因为担心世界因此掀起战争又亲手封印了这个财富并仿造当年曹小明设下四个可疑文件,找到小明喜欢的DBAPP标记,重现战国辉煌。(答案为正确值(不包括数字之间的空格)的小写32位md5值)
注意:得到的 flag 请包上 flag{} 提交
word文件损坏,需要修复
这里本来都是FF的但是中间突然出现了I come from
alibaba这个应该是被人加上去的。把这些都改成FF试试
成功打开word,把其他几个doc也都改掉
四个word内容都一样,但是发现行距不一样
100111100010
101010010011
100100100001
根据题目我们把这四个doc提取出的二进制分别md5加密尝试flag
发现第三个doc文档提取出来的二进制md5加密后刚好是flag
flag{d473ee3def34bd022f8e5233036b3345}
一百零六、[SCTF2019]电单车
一个wav音频,10MB但是音频时常只有1秒钟
binwalk扫不出东西,重新观察音频本身
好像可以用01来表示
0011101001010101001100010
观察发现上面的这个重复了一次,然后第一个0在最前面
这里查了一下原题
说的是地址位的全部信息
查到信号是由同步引导码,地址位和数据位构成
仔细查看波形图得到如下
所以去掉前面的同步码0和后面的数据位0010得到全部20bit地址位如下:
01110100101010100110
flag{01110100101010100110}
一百零七、[XMAN2018排位赛]通行证
像是位移密码
凯撒密码解码完全不对
查了一下比赛的hint:
xman最强王者开始了,拿到通行证,开始你的王者之路。
XMan通行证flag格式:xman{.*}
hint:这是个签到题;
hint:base64解码
进行栅栏密码加密
使用凯撒密码进行解密
先要用栅栏密码加密再用凯撒解密
flag{oyay_now_you_get_it}
一百零八、[*CTF2019]otaku
一个压缩包,需要密码,怀疑伪加密
用7z直接提取出来了
这是flag.zip
给了注释是这个压缩包的压缩标准,那就很明显了,这个压缩包是明文攻击
我们需要从word里面提取出一段文件命名位last
words.txt然后来攻击这个压缩包拿到解压密码
这是word的内容,看到中间有划线的部分,我们提取出来
发现无法复制,之前做个一个音符的题目,那串音符也复制不出来,也是有下划线的,这里需要设置一下(选中文字后)
直接复制过去发现有433字节,但是压缩包里面的txt只有432字节
用python写入发现刚好432字节,不知道什么原因
然后按照指定版本的winrar进行压缩
因为我电脑里面已经有其他版本的winrar了所以在虚拟机的win10里面安装了题目指定版本的winrar并进行了压缩
开始明文攻击
破解了几分钟手动中止了,虽然显示未找到密钥,但是它会弹出另存为,然后保存到桌面就会发现压缩包是能解压的了
得到一个png图片
直接用zsteg可以直接得到flag(lsb隐写)
flag{vI0l3t_Ev3rg@RdeN}
一百零九、voip
一个流量包
VoIP——基于IP的语音传输(英语:Voice over Internet
Protocol,缩写为VoIP)是一种语音通话技术,经由网际协议(IP)来达成语音通话与多媒体会议,也就是经由互联网来进行通信。其他非正式的名称有IP电话(IP
telephony)、互联网电话(Internet telephony)、宽带电话(broadband
telephony)以及宽带电话服务(broadband phone service)。
点击下面的”播放流”
仔细听
Hi,this is your service.Please press one to listen flag.The flag is S E C C O N,hold on,please.9 0 0 1 I V R close race only capital letter for you.NO,thanks.
SECCON{9001IVR}
一百一十、[MRCTF2020]Unravel!!
之前写过,拿之前的wp
得到一张图片,一个音频,一个压缩包
我发现图片里面有一个隐藏文件,于是改后缀zip,解压出来是
Tokyo是东京,aes是一种密码
我都查了,但是我却联系不起来
音频的文件名是
我就去winhex看了,发现异常
我以为是解压密码,但是解不开,没想到是aes的加密码,aes需要密匙的,就是Tokyo
压缩密码解压压缩包,获得一段音频
用SilentEye
MRCTF{Th1s_is_the_3nd1n9}
一百一十一、真的很杂
杂项题目经常混杂着奇奇怪怪的东西。。。不要想歪了!专心做题=
=!最后获得的东西需要暴力得到哦(提示:前一个字母,后一个数字) 注意:得到的
flag 请包上 flag{} 提交
给了一张图片
基本上图片隐写了
foremost出很多文件
重点应该是这个压缩包了
好像是个安卓逆向
直接改后缀为apk
成功反编译,找flag
flag{25f991b27fcdc2f7a82a2b34386e81c4}
题目描述说要暴力破解,但是我这个得到的就是真的flag了,可能非预期吧
一百一十二、hashcat
winhex看到应该是doc文档
需要密码
使用软件Accent OFFICE Password Recovery v5.1 CracKed By Hmily[LCG][LSG]暴力破解
下面的选项第二个就是暴力破解
破解成功密码为9919
word打不开
改pptx成功打开
第七页这里有个下划线
把字体选中改成黑色
flag{okYOUWIN}
一百一十三、[BSidesSF2019]zippy
随便点了点,发现这里有个flag.txt
右键追踪tcp流,看到时一个flag.zip里面包含着flag.txt
用binwalk分离
发现foremost不能导出,就用binwalk -e进行导出
导出zip发现需要密码,要么暴力要么伪加密
都不行,那就去流量包里面找密码
密码应该就在这里
试了一下发现是这个supercomplexpassword
一百一十四、[ACTF新生赛2020]明文攻击
两个文件
题目已经很明确了是明文攻击,大概率就是从res.zip里面找到secret.txt
在winhex打开图片里面看到flag.txt
用binwalk无法提取zip
尝试手动提取
发现压缩包文件头被篡改了
随便新建一个txt文件压缩为zip
把前面的部分复制出来,拼接
这题因为提供的就是zip压缩包了,并不是flag.txt文件让我们自己压缩,所以两个压缩包的加密方式肯定是相同的
这里发现压缩包修复错了
明文攻击直接报错了
应该是复制这些,然后在前面加上504b就行了,因为后面有0304
明文攻击还是报错
然后发现可能是文件大小有问题,修复文件头的zip在winhex操作的时候下面有很多的000
应该把这些删掉,如果不知道文件尾是在哪个零,我们直接用winrar的压缩包修复功能就会自动把没用的数据删除掉
然后就可以明文攻击了
然后稍微等几分钟手动暂停
这次花了很长时间才能手动暂停,出现成功恢复弹窗。还好每次停止重新开始都会继续上次的进度
一百一十五、[MRCTF2020]Hello_ misc
这题写过吧
我记得buuctf里面刷到过,但是怎么也找不到了,但是dasctf七月赛遇到过,当时因为最近做过类似的题目所以马上知道该怎么写了,但是当时做的题目应该都是在buuctf上面的
只选一个red
给了一个zip的解压密码,并不是那个rar的解压密码
binwalk 原来的Png在里面看到一个zip
用binwalk -e提出来
这个在buuctf里面写过,第九十一题
跑一下脚本
1 |
|
rar-passwd:0ac1fe6b77be5dbe
解压题目给的rar
这是个doc文档
一看下面就有内容
base64解密
110110111111110011110111111111111111111111111111101110000001111111111001101110110110001101011110111111111111111111111111111111101111111111111110110011110000101110111011110111111100011111111111001001101110000011111000011111111110110100001111011110111111011101111111110110110101111111100110111111111111110110101111111011110111101011101111111110110110101101111100110111111111111110110100001100000110000001100011100000110110110101110000001111000011111111
把1去掉
He1Lo_mi5c~
一百一十六、[WUSTCTF2020]spaceclub
给了一个txt,打开什么都看不到,用sublime text打开,全选
短的表示0长的表示1
011101110110001101110100011001100011001000110000001100100011000001111011011010000011001101110010011001010101111100110001011100110101111101111001001100000111010101110010010111110110011001101100010000000110011101011111011100110011000101111000010111110111001100110001011110000101111101110011001100010111100001111101
二进制转字符串http://www.txttool.com/wenben_binarystr.asp
wctf2020{h3re_1s_y0ur_fl@g_s1x_s1x_s1x}
一百一十七、[ACTF新生赛2020]music
有个.m4a的音频文件
查了一下发现正常的.m4a文件的文件头是这个:00 00 00 20 66 74 79 70 4D 34 41 20 00
00 00 00
发现00变成了A1,但是奇怪的是其他也变了,不知道是什么操作
再看一下尾部
很多的A1,这些地方应该本来是00的
看了别人的WP才知道需要异或一下
说本来应该是00的,所以需要异或一下
再看看原来的
说明异或把所有内容都异或了
然后把后缀改为mp4就可以打开了
因为mp4的文件头是这个
对应上了
然后听mp4就知道了flag{abcdfghijk}
一百一十八、[湖南省赛2019]Findme
这题好像见过
每张图片应该可以得到一段flag五个拼起来就是一个完整的flag
1.png用lsb隐写查不出来,对比其他图片,应该是宽高问题
用这个脚本可以直接爆破宽高并且修改宽高,另存为一张新的图片
1 |
|
这样一张图片,看顶部应该是和其他四张一样的不倒翁,但是下面显示不出来
查了一下才知道这是缺少IDAT标识
我们需要用010editor
用010editor打开会提示这个
让我们安装png的模板,我们选择安装
然后我们就会看到下面的png模板了
发现这两个地方缺少IDAT标识
在下面的红线写上IDAT
写的话要在上面的数据区写
查看别的IDAT发现十六进制是
把那两个缺少IDAT标识的十六进制位改成这个就行了
49 44 41 54
两个地方都修改完毕之后保存
这样就正常了
ZmxhZ3s0X3
然后看第二个图片
用winhex打开发现后面有很多的.txt文件
查一下png尾
把后面复制出来,应该是一个7z压缩包
保存后打不开
怀疑这些7z应该要替换成PK因为这些7z出现的地方和PK很像,说不定这是个zip压缩包
成功打开
仔细找,发现一个不一样的
1RVcmVfc
接下来看第三张图片
在kali里面打开会报错
用TweakPNG打开看看
一共报了7个crc错误
用010editor打开看看
输出这里报错,说crc的chunk[0]-[6]都有问题
这里有问题,chunk[0]-chunk[6]的每一个数据块的crc值都是可打印的Ascii字符
我们十六进制转ascii试试
1 |
|
输出为3RlZ30=
我们再看第四个png
在kali里面输入strings 4.png搜索字符串
看到
cExlX1BsY=
第五张也是这样
都是出现在结尾,所以很好找
Yzcllfc0lN
其实第四张常规的解法是在linux里面用exiftool命令
这里发现和上面找到的少了一个=号,试过发现不需要等于号,所以一般情况下还是不要使用strings命令,还是常规解法比较保险
第五张的常规解法是用winhex打开
在结尾看到
我们把五段flag拼接起来
ZmxhZ3s0X3 1RVcmVfc 3RlZ30= cExlX1BsY Yzcllfc0lN
顺序好像有问题
需要重新排列一下(15423)
ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=
flag{4_v3rY_sIMpLe_PlcTUre_steg}
一百一十九、[UTCTF2020]docx
也不知道干什么,就真给了一个docx文档
binwalk之后
在里面找到了flag
flag{unz1p_3v3ryth1ng}
一百二十、[GWCTF2019]huyao
得到两张图,要么双图,要么盲水印
这题是盲水印,但是有坑,用github上面的那个脚本或者是那个盲水印软件都解不了,需要用自己的py脚本
1 |
|
需要注意的是这个脚本只能在python2上面运行,所以我们直接放到ubuntu上面就好了
下面是运行命令
1 |
|
(把上面的脚本保存为decode.py,然后huyao.png和stillhuyao.png是题目给的两张图,res.png是输出图片,并且发现两张图的顺序反一下,结果是不一样的)
这就是flag了
flag{BWM_1s_c00l}
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!