[buuctf]msic2

之前写的没了,这里简单记一下思路

被劫持的神秘礼物

打开wireshark,找到账户密码,串在一起用MD5加密

刷新过得图片

参考文章
猜测该题可能为F5隐写,通过kail下载F5隐写工具来解题
下载完成后进入F5隐写工具文件夹

cd F5-steganography

在该文件夹下对其图片进行解析

java Extract /图片所在位置/Misc.jpg

解析后会出现一个output.txt文件在F5隐写工具文件夹下
打开该文件夹, 发现该文件夹下还藏有一个flag.txt文件
利用binwalk对该文件夹进行分离,得到flag

snake

010editor有个base64编码,解密后是

What is Nicki Minaj's favorite song that refers to snakes? 

原来是是anaconda(蟒蛇)。考点是蛇加密算法,serpent算法
binwalk分离,给了cipher文件
cipher导进去, key就是anaconda
在这里插入图片描述

拿到flag

[BJDCTF2020]认真你就输了

binwalk分离xls表

藏藏藏

binwalk分离两次得到个docx,打开是个二维码,扫描即可

被偷走的文件

看到压缩包直接分离他
在这里插入图片描述
是个加密压缩包。看了一下不是伪加密,那就暴力破解

佛系青年

考点zip伪加密与与佛论坛

菜刀666

之前专门写过
这篇文章

你猜我是个啥

010打开发现flag

秘密文件

binwalk分离和暴力破解密码

just_a_rar

还是爆破题,最后记得看注释
在这里插入图片描述

鸡你太美

恢复gif头就行

神奇的二维码

扫描没用,直接binwalk分离,发现四个压缩包,挨个解密,全是base64编码。每个解密都对着上一个的密码
到最后一个是个音频,转摩斯电码即可

梅花香自苦寒来

打开图片,翻看010editor
在这里插入图片描述
把这些十六进制复制出来,十六进制转asc码
在这里插入图片描述
看到了这么多坐标,可以想到绘图,描出二维码。用python里的matplotblib模块
格式要改成这样
在这里插入图片描述
代码

import matplotlib.pyplot as plt
import numpy as np

x,y=np.loadtxt('./1.txt',delimiter=',',unpack=True)
plt.plot(x,y,'.')
plt.show()

得到二维码

[ACTF新生赛2020]outguess

里面有很多文件,但主要是这个
在这里插入图片描述

社会主义核心价值观在线解密:http://ctf.ssleye.com/cvencode.html
解码abc
结合题目名字,对这张图片进行使用outguess导出隐写内容(kali)

outguess -k 'abc' -r mmm.jpg flag.txt 

gakki

先binwalk 分离和四位数爆破,发现一堆无规律字符借助大佬脚本统计

# -*- coding:utf-8 -*-
#Author: mochu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+- =\\{\\}[]"
strings = open('C:/Users/lenovo/Desktop/_wolaopo.jpg.extracted/218E8/flag.txt').read()

result = {}
for i in alphabet:
	counts = strings.count(i)
	i = '{0}'.format(i)
	result[i] = counts

res = sorted(result.items(),key=lambda item:item[1],reverse=True)
for data in res:
	print(data)

for i in res:
	flag = str(i[0])
	print(flag[0],end="")

[ACTF新生赛2020]base64隐写

扫描二维码得到个网址,打开看到大量base64.还是大佬解密

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('ComeOn!.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()

伟大的侦探

考点:
摩尔福斯小人密码

在这里插入图片描述

你能看懂音符吗

修复rar文件头 52 61 72 21 1A 07 00 ,出现一个文档,发现有些字被隐藏了
在这里插入图片描述

取消隐藏,音乐字符解码

你有没有好好学网课

  • 敲击码
    在这里插入图片描述
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值