BUUCTF-misc

数据包中的线索

下载解压出一个.pacapng用wireshark打开

过滤http追踪流发现是在传输一个什么东西

BUUCTF-misc_第1张图片

直接导出数据包

BUUCTF-misc_第2张图片
在数据后面有个==猜测是个拿去base64解密,发现是个jpg文件

在浏览器栏输data:image/png;base64,编码内容可以直接看到图片

BUUCTF-misc_第3张图片

被劫持的流量

下载下来一个.pacapng数据包,过滤http追踪post的http流

看到账号密码加起来MD5包上flag{}

wireshark

题目说管理员密码就是flag

拿到数据包过滤只看http

看到一个post
BUUCTF-misc_第4张图片
password的值包上flag{}是flag了

just_a_rar

解压出一个4位数.rar 用archpr暴力破解出来密码

BUUCTF-misc_第5张图片

解压4位数.rar出来一个flag.jpg

拉进Stegsolve的flie format看到flag

BUUCTF-misc_第6张图片

喵喵喵

下载一张图片拉进Stegsolve

换通道到0时有异常

BUUCTF-misc_第7张图片

判断是LSB隐写,切换通道顺序到BGR时有PNG

BUUCTF-misc_第8张图片

导出为png,是半个二维码。

搜高度140的16进制8C改为118

BUUCTF-misc_第9张图片
BUUCTF-misc_第10张图片
获得一个二维码,扫描是百度网盘下载链接,下载flag.rar…

解压有个flag.txt

flag不在这里哦 你猜猜flag在哪里呢? 找找看吧 啊这…

想起之前有写过一个NTFS流隐写

好像360好压可以直接显示出来,我用的是WinRAR没有,当时没学过写了一小时没写出来就放弃了

ntfs可以用NtfsStreamsEditor2显示和导出来

导出来一个pyc,用python反编译反编译

import base64

def encode():
    flag = '*************'
    ciphertext = []
    for i in range(len(flag)):
        s = chr(i ^ ord(flag[i]))
        if i % 2 == 0:
            s = ord(s) + 10
        else:
            s = ord(s) - 10
        ciphertext.append(str(s))
    
    return ciphertext[::-1]

ciphertext = [
    '96',
    '65',
    '93',
    '123',
    '91',
    '97',
    '22',
    '93',
    '70',
    '102',
    '94',
    '132',
    '46',
    '112',
    '64',
    '97',
    '88',
    '80',
    '82',
    '137',
    '90',
    '109',
    '99',
    '112']

因为一个数异或同一个数两次,结果还是那个数

https://blog.csdn.net/wilsonact/article/details/87075380

所以可以写解密脚本

ciphertext = ['96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97','88','80', '82', '137', '90', '109', '99', '112']
ciphertext = ciphertext[::-1]  # 把列表反过来
flag = ''
for i in range(len(ciphertext)):
    if (i % 2 == 0):
        a = int(ciphertext[i]) - 10 #跟加密相反如果i为偶数就减10
    else:
        a = int(ciphertext[i]) + 10
    a = i ^ a #异或两次后数相同
    flag = flag + chr(a)
print(flag)

执行获得flag

你可能感兴趣的:(buuctf)