BUUCTF misc 刷题第一页

你竟然赶我走

1.下载后解压得到biubiu.jpg,拖入010editor打开,在结尾发现flag:

image-20240408191852809

二维码

1.解压后得到一张二维码,用工具QR Research打开,得到:

image-20240408193214330

2.尝试使用Stegsolve打开,然后Analyse->File Format,拖到最底下发现了zip文件格式:(PK头)

image-20240408192937613

3.由此可以想到使用binwalk分离png和zip文件:

image-20240408193513413

4.打开压缩包,尝试解压,发现需要密码,但提示我们是四位:

image-20240408193706131

5.在kali中使用apt -y install fcrackzip安装暴力破解工具fcrackzip,然后使用该工具对解压密码进行爆破:

fcrackzip -b -c1 -l4 -u 1D7.zip

重要参数说明:

-c 指定字符集,字符集 格式只能为 -c 'aA1!:' 
a 表示小写字母[a-z]
A 表示大写字母[A-Z]
1 表示阿拉伯数字[0-9]
! 感叹号表示特殊字符[!:$%&/()=?{[]}+*~#]
: 表示包含冒号之后的字符(不能为二进制的空字符),例如  a1:$%  表示 字符集包含小写字母、数字、$字符和%百分号

image-20240408194406540

得到了解压密码

6.输入解压密码,拿到flag

image-20240408194456946

注意:提交的时候需要将CTF改成flag(buuctf平台要求)

大白

1.首先解压打开图片dabai.png,并没有什么发现,但是题目中有提示:

image-20240408195323309

2.可以联想到是出题人更改了照片尺寸使得flag信息被隐藏起来了

3.将图片拖入010editor,查看图片的IHDR和crc信息:

image-20240408234335307

4.假设出题人修改了width,可以使用如下脚本:

import os
import binascii
import struct

#以二进制只读打开图片
misc = open("dabai.png","rb").read()

for i in range(1024):
	#12~15是IHDR,struct.pack('>i',i)把整数i使用大端序打包成4字节的二进制数据,简单来说,就是高位补0
    data = misc[12:16] + struct.pack('>i',i) + misc[20:29]
    #binascii.crc32() 函数计算的 CRC32 校验和是一个有符号的 32 位整数
    #& 0xffffffff是为了确保crc32成为32位无符号整数
    crc32 = binascii.crc32(data) & 0xffffffff
    if crc32 == 0x6d7c7135:
        print(hex(i))

发现没有回显,可以猜想出题人应该是修改了height

5.将脚本简单修改一下:

#coding=utf-8
import os
import binascii
import struct

misc = open("dabai.png","rb").read()

for i in range(1024):
    data = misc[12:20] +struct.pack('>i',i)+ misc[24:29]
    crc32 = binascii.crc32(data) & 0xffffffff
    if crc32 == 0x6d7c7135:
        print(hex(i))

得到了回显:

image-20240408234758130

6.修改height,并保存,再次打开即可拿到flag

image-20240409002558499

image-20240409002607598

乌镇峰会种图

1.直接丢入010editor,在文件末尾即可找到flag

image-20240409125327332

N种方法解决

1.解压后得到KEY.exe,首先拖入010editor,然后发现这是一个采用base64加密的图片:

image-20240409130126293

2.百度在线网站 https://www.67tool.com/images/convert/base64 ;然后转成图片,下载下来,发现是一个二维码:

image-20240409130328292

3.使用二维码批量扫描工具,发现了key:

image-20240409130536102

4.直接将KEY改成flag,提交即可

wireshark

1.解压后得到一个pcap包,直接用双击打开(前提是安装了wireshark):

2.根据题目的提示,尝试寻找管理员登陆的流量

image-20240409131424255

3.由于登陆大多用的是POST请求,因此我们可以先尝试用post请求过滤:

http.request.method == "POST"

image-20240409132233706

可以直接找到flag

基础破解

1.解压后发现是一个rar文件,尝试打开其中的flag.txt文件,发现需要密码:

image-20240409132636395

2.根据题目提示,发现密码是四位数字:

image-20240409132713888

3.尝试使用ARCHPR爆破压缩包,得到密码2563

image-20240409133455858

4.打开flag.txt,发现一串base64加密的字符串,正常解密即可拿到flag:

image-20240409133538436

image-20240409133554032

文件中的秘密

1.右键打开文件的属性,在详细信息中的备注里可以找到flag

image-20240409141823309

LSB

1.题目提示为LSB隐写,那么我们直接用Stegsolve打开,然后使用Analyse->Data Extract,然后将Bit Planes中的RGB三种颜色都勾选成0(最低位),可以发现隐藏了png图片:

image-20240409142732709

2.点击Save Bin,保存成1.png,发现是一张二维码:

image-20240409142807232

3.在QR Research中打开,拿到flag:

image-20240409142908116

注:需要将cumtctf改成flag再提交

zip伪加密

1.解压文件需要密码:

image-20240409143053997

2.题目提示考点为伪加密,那我们先将zip文件拖入010editor:

image-20240409143906095

3.zip真加密与伪加密的区别:

真加密:真加密的zip压缩包压缩源文件数据区的全局加密应当为01 00,且压缩源文件目录区的全局方式位标记应当为 01 00。

4.数据区和目录区的标识:

(1)压缩源文件数据区:ZIP的文件头标识固定为0x 50 4B 03 04

(2)核心目录区:核心目录区的标记为0x 50 4B 01 02

5.综上,我们只需要将record区中的frFlags(09 00)以及dirEntry中的deFlags(09 00)全部修改为00 00再保存即可

image-20240409144605441

被嗅探的流量

1.根据题目提示,寻找文件上传的流量:

image-20240409144813640

2.由于文件上传使用post传输,因此直接使用如下命令进行过滤:

http.request.method == "POST"

image-20240409144923668

3.可以发现,第二行的数据后面有(JPEG JFIF image)的标记,猜测flag在其中,双击打开可以得到flag:

image-20240409145225989

rar

1.根据题目提示,尝试使用ARCHPR爆破压缩包

image-20240409145451760

2.爆破得到密码8795

image-20240409145621004

3.解压文件,拿到flag

image-20240409145649625

qr

1.直接用QR Research打开,即可拿到flag

image-20240409145755767

注:需要将Flag改成flag再提交

镜子里面的世界

1.首先用Stegsolve打开,尝试使用File Format,并没有发现异常:

image-20240409150356129

2.尝试使用lsb最低位隐写,拿到key:

image-20240409150501627

3.将key用flag{}包裹即可

ningen

1.将文件拖入010editor,在结尾发现zip文件(PK头部)

image-20240409150843823

2.将文件放入kali中,使用binwalk进行分离:

binwalk -e 9e3ec8c2-38c7-41cf-b5d7-abe7872de4c3.jpg --run-as=root

image-20240409151041517

3.成功分离出zip文件

image-20240409151146610

4.根据题目提示,使用工具fcrackzip对解压密码进行爆破:

fcrackzip -b -c1 -l4 -u 9721.zip

image-20240409151401785

5.解压拿到flag

image-20240409151424304

爱因斯坦

1.将文件拖入010editor,发现zip文件头和flag.txt:

image-20240409151829402

2.将图片放入kali中,使用binwalk进行分离:

image-20240409152006605

3.尝试暴力破解分离出的zip文件的密码,发现无果

4.查看misc2.jpg的属性,有了发现:

image-20240409152449442

5.尝试将this_is_not_password当成解压密码,成功解压:

image-20240409152530470

小明的保险箱

1.将文件拖入010editor,这次发现结尾附加了rar文件:

image-20240409152648174

2.将文件放入kali中,使用binwalk进行分离,分离得到rar文件:

image-20240409153608311

3.根据题目提示,使用ARCHPR进行爆破:

image-20240409153837353

4.得到口令7689

image-20240409153851614

5.解压拿到flag

image-20240409154019550

easycap

1.直接追踪tcp流即可拿到flag

image-20240409154831954

image-20240409154844755

隐藏的钥匙

1.将图片拖入010editor,直接搜索flag,发现base64加密的flag:

image-20240409160004526

2.解密后用flag包裹即可:

flag{377cbadda1eca2f2f73d36277781f00a}

另外一个世界

1.将图片拖入010editor,在结尾发现一堆可以的0和1:

image-20240409160305198

2.尝试将这些0和1转成十进制,再转成16进制,最后再转成ascii:

import binascii

text = "01101011011011110110010101101011011010100011001101110011"
#转换成十进制
text_2 = int(text,2)
#转换成16进制
text_16 = hex(text_2)
#去除16进制前面的0x
text_16_modify = text_16[2:]
#将16进制转换成ascii
print(binascii.a2b_hex(text_16_modify))

image-20240409161055198

3.用flag{}包裹即可:flag{koekj3s}

神秘龙卷风

1.得到一个rar压缩包,根据题目提示,使用ARCHPR进行爆破:

image-20240409161353642

2.成功获得口令:5463

image-20240409161433327

3.得到奇怪的编码,一眼brainfuck:

image-20240409161523588

4.去在线网站解密:https://www.nayuki.io/page/brainfuck-interpreter-javascript

得到flag:

image-20240409162224654

FLAG

1.题目没有任何提示,先将图片拖入010editor,无果。

2.使用Stegsolve打开,先使用Analyse->File Format打开,没有发现异常

3.猜测是LSB隐写,使用Analyse->Data Extract

image-20240409162824758

4.发现PK头,点击Save Bin,保存成2.zip

5.提示无法打开

image-20240409163006412

6.使用winrar修复文件:

image-20240409164548111

7.将其中的文件复制到kali中,使用strings命令打开:

image-20240409164642902

8.根据题目要求,将hctf改成flag即可

数据包中的线索

1.打开流量包,发现可疑的流量:

image-20240409233345275

2.右击,追踪TCP流:

image-20240409233623291

3.感觉像是base64编码,解密一下发现有JFIF头:

image-20240409233744285

4.使用网站https://www.67tool.com/images/convert/base64 ,然后转成jpg图片,打开得到flag:

image-20240409234054222

假如给我三天光明

1.打开图片,发现图片底下有可疑的图案,猜测是盲文:

image-20240409235931417

2.上网搜索盲文对照表,推出密码是kmdonowg

image-20240410000137593

3.输入解压密码,解压得到music.wav:

image-20240410000309663

4.将music.wav拖入Audacity中打开,听声音以及观察波形判断出来是摩斯密码

5.将音频放入网站:https://morsecode.world/international/decoder/audio-decoder-adaptive.html ,解密即可:

image-20240410001047796

6.将CTF改成flag{}包裹,再将所有的大写字母改成小写即可

后门查杀

1.根据题目提示,下载后在include文件夹下的include.php中发现了密码,用flag{}包裹即可:

image-20240410134717399

image-20240410134729053

2.首先可以直接看出上传了POST请求,来判断这是一个木马文件,再者可以用D盾等扫描工具进行扫描来发现这是一个php大马

webshell后门

1.刚下载完,火绒就报毒了:

image-20240410135248919

2.恢复下文件并打开,发现跟上一题是一样的php大马:

image-20240410135347949

3.flag{}包裹$pass的内容即可

来首歌吧

1.下载了stego100.wav,直接用Audacity打开,听到有电报声,波形也可猜测为摩斯密码(长柱代替摩斯密码中的 - ,短柱代替摩斯密码中的 . ,中间的长线段用空格代替):

image-20240410140131775

2.得到如下摩斯密码:

..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.

3.去在线网站解密,并将小写字母改成大写,再用flag{}包裹答案:

image-20240410140420932

面具下的flag

1.首先使用stegdetect进行探测,发现JPEG文件已损坏,数据段过早结束:

image-20240410141153032

2.用010editor打开,发现zip文件头部(PK)和flag.vmdk:

image-20240410141334550

3.将文件后缀修改为zip,发现解压需要密码:

image-20240410142541959

4.猜测为伪加密,将图中09改为00即可成功打开flag.mdk文件:

image-20240410142726867

5.百度可知,vmdk文件可用7z解压,于是将文件放入kali中:

7z x flag.vmdk -o./

6.解压后,桌面上多出了两个key目录:

image-20240410143112809

7.当前这两个key目录是只读权限,无法打开,需要用chmod命令赋予它们最高权限:

chmod -R 777 key_part_one key_part_two

8.发现两段都是brainfuck加密:

image-20240410143752875

这一段得到一半flag:flag{N7F5_AD5

image-20240410143908752

这一段得到另一半flag:_i5_funny!}

综合起来,flag为:flag{N7F5_AD5_i5_funny!}

荷兰宽带数据泄露

1.下载文件,发现是conf.bin,百度一下:

image-20240410151049235

2.点进去看看,如何查看:

image-20240410151239691

3.使用该工具打开:

image-20240410151459764

4.打开后根据题目提示是宽带数据泄露,搜索username和password:

image-20240410151712211

5.最后发现flag{053700357621}是最终的题解

九连环

1.首先用010editor打开,发现藏了zip文件(PK头)

image-20240410151859607

2.将文件放到kali下,使用binwalk进行分离:

image-20240410152132903

3.将4C68.zip拖入010editor中,然后猜测jpg处是伪加密,将01 08改为00 00:

image-20240410162838803

4.保存后,将其中的图片复制到kali中:

image-20240410163030406

5.经过不断尝试,发现可以使用steghide将隐写的信息提取出来

image-20240410163150845

6.读取ko.txt,获取压缩包密码:

image-20240410164353530

7.解压拿到flag:

image-20240410164505148

posted @ 2024-04-10 22:37  dtwin  阅读(330)  评论(0编辑  收藏  举报