杀鸡焉用牛刀 发表于 2024-6-14 19:19:28

BUUCTF-Misc(141-150)

小O的考研复试

https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173125759-1429480653.png
flag = 0
for i in range(19260817):
    flag = (flag * 10 + 2) % 1000000007

print(flag)flag{577302567}真的很杂

参考:
BUUCTF 真的很杂_buuctf class.dex-CSDN博客
BUUCTF-真的很杂 - 「配枪朱丽叶。」 (hatenablog.com)
没啥思绪,binwalk直接提取,发现好像是安卓的东西
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173125039-1074272113.png
然后是安卓逆向,我们下载工具,反编译Releases · skylot/jadx (github.com)
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173124440-1633066564.png
然后我们给classes.dex拖进去反编译
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173123607-753248771.png
找到flag,然后爆破这个a和b,前一个字母,后一个数字(我也不知道怎么爆破)
flag{25f991b27fcdc2f7a82a2b34386e81c4}FireFox Forensics

参考:[浏览器取证 - GKCTF 2021]FireFox Forensics - 《CTF 刷题总结》 - 极客文档 (geekdaxue.co)
根据题目应该是浏览器取证,第一次接触,下载脚本lclevy/firepwd: firepwd.py, an open source tool to decrypt Mozilla protected passwords (github.com)
然后给这两个附件放到这个脚本的目录下
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173122865-1403403780.png
然后打开终端
python ./firepwd.py logins.jsonhttps://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173122267-1070756952.png
GKCTF{9cf21dda-34be-4f6c-a629-9c4647981ad7}disk

参考:[内存取证 - RCTF2019]disk(BUUCTF) - 《CTF 刷题总结》 - 极客文档 (geekdaxue.co)
之前遇见过vmdk这个文件,使用7z解压出来,得到一个0.fat
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173121762-1366972352.png
然后搜了搜fat就是磁盘
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173121220-1115855166.png
然后这题少了提示说是,我们应该去下载VeraCrypt这个 工具
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173120047-1723889406.png
然后我们先在010editor里面打开这个0.fat找到一段flag
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173119634-107903045.png
rctf{unseCure_quick_form4t_vo1ume然后我们把0.fat挂载起来,这里需要输入密码,密码就是rctf
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173118871-1640508804.png
然后打开发现
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173118273-1865876155.png
RCTF2019这是一个容易忽视的点。那就是在挂载的时候,不同的密码可以进入不同的文件系统,所以我们需要重新挂载,然后挂载完打不开,打开就必须要你格式,然后这里就只能用winhex去打开这磁盘,010editor不可
最后的flag
flag{unseCure_quick_form4t_vo1ume_and_corrupted_1nner_v0lume}摇滚DJ(建议高声播放

我擦,听了一下附件,脑子爆掉了,听起来是之前做过SSTV,用kali打开qsstv,直接命令行输入,没安装的先去搜一下怎么安装的
主要记得这里需要设置成from file
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173117711-943050517.png
然后给音频丢进去,就出图片了
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173116842-1548520405.png
flag{r3ce1ved_4n_img}huyao

下载下来是两张一样的图片
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173115849-837737205.png
先试试盲水印,发现不对
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173112745-1894956075.png
但是在这里,B神的工具PuzzleSolver还有频域盲水印,牛逼坏了,直接解出来
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173111540-1563045619.png
得到flag
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173110866-860152138.png
flag{BWM_1s_c00l}520的暗示

参考:BUU MISC 刷题记录(三) - 云千 - 博客园 (cnblogs.com)
我们了解到是微信dat文件解密,网上找了脚本bugku:FileStoragedat;微信dat文件的解密_filestorage解密-CSDN博客
#微信dat文件解密
import base64
import struct,binascii
def getDat():
    dic={0xFFD8:"JPG",0x8950:"PNG",0x424D:"BMP",0x4749:"GIF",0x504B:"ZIP",0x5261:"RAR",0x4156:"AVI"}
    li=list(dic.keys())
    with open("photo.dat","rb")as f:
      data=f.read(2)
      data=str(binascii.b2a_hex(data))
      data=int(data,16)
      for i in li:
            j=hex(i ^data)
            if(j==j):
                key=j
                print("key:",key)
                tail=dic
                print("文件格式为:",tail)
                break
      f.seek(0,0)
      with open("result."+tail,'wb')as out:
            for now in f:
                for nowByte in now:
                  by=nowByte^int(key,16)
                  out.write(bytes())


#主函数
if __name__ == '__main__':
    print("/*Begin*\\")
    getDat()然后就得到一个jpg的图片
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173110069-988658745.png
然后根据WP所说去找基站
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173109044-1510258745.png
最后flag就是
flag{桂林电子科技大学花江校区}file

参考:
XMAN2018排位赛]file-CSDN博客
先用volatility分析一下,没有分析出来
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173107678-1061164203.png
然后他是linux的一个镜像
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173106877-724987761.png
我们先创建一个目录,然后给他挂载起来,然后去到谁人目录查察一下
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173106380-996415057.png
这里有个文件名字是lost+found ,暗示我们找回失掉的文件,然后我们就可以取消挂载了umount /mnt/test
然后我们这里需要用到extundelete这个工具,我们可以先安装一下
sudo apt install extundelete安装完毕后,我们恢复所有文件
extundelete attachment.img --restore-allhttps://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173105658-1031784651.png
然后同级目录下会生成一个文件夹,里面有被恢复的文件
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173104865-348006306.png
flag{fugly_cats_need_luv_2}我爱Linux

然后题目说linux,我拖到虚拟机看看exiftool,cat,file什么的都没得到什么有效的信息
我们010editor打开文件,发现了 FF D9也就是jpg文件尾部,然后反面跟了一大堆不知道什么的数据
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173104133-1878759398.png
然后我们给他提取出来
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173103434-1872584569.png
然后我们反序列化一下
import pickle

fp = open("1","rb+")      ''' 打开序列化文件 '''
fw = open('pickle.txt', 'w')''' 打开保存文件 '''
a=pickle.load(fp)             ''' 反序列化文件编译 '''
pickle=str(a)               ''' 转换成字符串要不然不能保存 '''
fw.write( pickle )            ''' 写入文件 '''
fw.close()                  ''' 关闭文件 '''
fp.close()                  ''' 关闭文件 '''得到坐标值
https://img2023.cnblogs.com/blog/3439569/202406/3439569-20240614173102166-302899328.png
然后再转换
fw = open("pickle.txt","r")text=fw.read( )i=0a=0while i
页: [1]
查看完整版本: BUUCTF-Misc(141-150)