BUUCTF-刷题记录-6

MISC

菜刀666

在tcp的第7个流里面发现传输了一张图片

foremost分离出来一个带有密码的压缩包,把图片给提取出来,得到密码

解压得到flag

[UTCTF2020]basic-forensics

给了一个jpeg,但其实不是,修改为txt,直接全局搜索flag就看到了flag

荷兰宽带数据泄露

使用routerpassview工具查看路由器配置文件里面存的的用户名即可,flag即为用户名

webshell后门

D盾扫一下,发现后门文件

然后搜索pass就可以看得到密码,也就是flag了

Mysterious

一个简单的逆向题,先定位到flag的地方,进行一个分析

然后咱们输入122xyz就可以得到flag了

蜘蛛侠呀

一顿分析无果,先列出流量包的隐藏文件

tshark -r out.pcap -T fields -e data > 1.txt

发现导出的文件里面,每四行都是重复的,于是去掉重复行,脚本如下

f1 = open('1.txt','r').readlines()
f2 = open('2.txt','a')

for i in range(len(f1)):
	if f1[i].strip() == f1[i-1].strip():
		continue
	f2.write(f1[i].strip() + '\n')

然后再把每行的16进制转字符

f1 = open("2.txt",'r').readlines()
f2 = open("3.txt","w")

for line in f1:
    newline = ''
    for i in range(len(line)//2):
        byte = line[i*2:i*2+2]
        num = int(byte,16)
        character = chr(num)
        newline += character
    f2.writelines(newline)
f2.close()

但是前面出现了一堆奇怪的字符

直接给他全部替换成空,然后使用notepad++插件转进行base64解码,保存为zip,存在一个flag.gif,然后就是时间隐写了,查看gif每一帧停留的秒数,分别替换成01,然后在8个一组转字符

identify -format "%T" flag.gif 

得到

2050502050502050205020202050202020205050205020502050205050505050202050502020205020505050205020206666

最后面的四个6不用管

01101101 01000100 00110101 01011111 00110001 01110100

最后转换成字符,得到

mD5_1t

把其进行md5加密得到的就是flag了

[GWCTF2019]huyao

一看就知道是盲水印了,不过这个用的是老版本的盲水印,flag{BWM_1s_c00l}

python2 decode.py --original 2.png --image 1.png --result res1.png

[湖南省赛2019]Findme

一共给了5张图片,第一张的宽高有问题,用脚本修复一下

import zlib
import struct

filename = '1.png'
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(),16)
    data = bytearray(all_b[12:29])
    n = 4095           
    for w in range(n):          
        width = bytearray(struct.pack('>i', w))    
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("width:",end="")
                print(width)
                print("height:",end="")
                print(height)

得到结果

width:bytearray(b'\x00\x00\x00\xe3')
height:bytearray(b'\x00\x00\x01\xc5')

修改打开之后,是这样的

丢进010分析,发现图片缺少chunk[2]、chunk[3]的IDAT标识:49 44 41 54

那我们给他加上去,修复就好了

修复完毕


终于是修复好啦~

然后下一步就是找信息了,这里一共有5张图片,所以应该是有五段信息或者是什么连在一起的东西,先从第一张看起。
在某个通道里面发现了一张二维码

扫码得到ZmxhZ3s0X3,很熟悉的一个flag头,后面就是去找接下来的四段了
第二张图片的尾部发现了7z的压缩包

将其手动分离出来,但是解压出了问题,再来细看一下,发现原来是PK被换成了7z,那我们再给换回去

成功解压,有一大堆的文件,我们直接按照修改日期排序,找到了618.txt这个藏有内容的文件
You find it: 1RVcmVfc
然后来看第三张图片
chunk[0]-chunk[6]的每一个数据块的crc值都是可打印的ascii字符

提取出来输出为ascii码也就是3RlZ30=
然后来看第四张图片,在文件末尾发现内容cExlX1BsY
其实也就是图片的EXIF信息,可以在这个网站上面看得到

第五张图片也简单了,就在文件末尾Yzcllfc0lN

最后得到的结果按照顺序来,也就是这样子

ZmxhZ3s0X3
1RVcmVfc
3RlZ30=
cExlX1BsY
Yzcllfc0lN

最后稍微排列组合一下得到最后的结果

ZmxhZ3s0X3Yzcllfc0lNcExlX1BsY1RVcmVfc3RlZ30=

进行base64解码得到flag

flag{4_v3rY_sIMpLe_PlcTUre_steg}

[UTCTF2020]zero

开始还以为是词频分析,但是脚本跑了保存,里面存在一些特殊字符,百度知道这个是叫做零宽度字符加密在线分析网址
关于这个网站的用法

我们直接复制字符是不行的,得现在这个地方上传一下,然后点击下方的

再把下载了的这个文件内容复制到上方进行解密,按照步骤来即可

我爱linux


修改一下文件头,png->jpg,而且发现在文件末尾,多出了一大段的数据

提取出来,但是看不懂,搜了下发现图片内容是《巨蟒与飞行马戏团》的图片,而py也是由于这个来的,猜测是pickle的序列化之后的数据,逆回去看看

import pickle  

f1 = open('1.txt','rb')
f2 = open('2.txt','a')
f2.write(str(pickle.load(f1)))
f1.close()
f2.close()

得到一大串元组坐标
可以发现,元组的第一个元素是位置,第二个元素是字符,于是画一下,脚本如下

import pickle

with open('1.txt', 'rb') as f:
    data = pickle.load(f)
new_data = list()
for i in range(len(data)):
    tmp = [' ']*100
    new_data.append(tmp)
for i,d in enumerate(data):
    for m in d:
        new_data[i][m[0]] = m[1]
for i in new_data:
    print(''.join(i))

得到flag

这个其实也就是通过linux下面的toilet命令输出的

[ACTF新生赛2020]剑龙

先把js解密,得到welcom3!

得到

想要flag吗?解出我的密文吧~
U2FsdGVkX1/7KeHVl5984OsGUVSanPfPednHpK9lKvp0kdrxO4Tj/Q==

一看就知道是DES了,现在去找密码,然后在图片的详细信息里面发现了密码@#$%^&%%$)

解密得到think about stegosaurus,在github上面找到对应的东西,网址
跑一下得到flag,注意需要使用python36

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值