西湖论剑2022部分misc

签到题喵

把文件尾的16进制复制出来,再转换字符串
[图片]
私信后台即可获得flag

take_the_zip_easy

明文攻击
echo -n “dasflow.pcapng” > 1.txt
time ./bkcrack -C zipeasy.zip -c dasflow.zip -p 1.txt -o 30 -x 0 504B0304 >1.log

[图片]

获取到密钥
Keys: 2b7d78f3 0ebcabad a069728c
破解密码,恢复文件
./bkcrack -C zipeasy.zip -c dasflow.zip -k 2b7d78f3 0ebcabad a069728c -d flow.zip
[图片]

哥斯拉流量,直接导出http文件,可以看到源码,pass和key
[图片]

[图片]

过滤出http数据包,减少干扰数据
[图片]

追踪tcp流10,获取压缩包flag.zip
在这里插入图片描述

追踪流9,猜测为解压压缩包的流量,进行解码分析
参照2022DASCTF X SU 三月春季挑战赛,payload如下

<?php
function encode($D,$K){
    for($i=0;$i<strlen($D);$i++){
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}

$pass='air123';
$payloadName='payload';
$key='d8ea7326e6ec5916';
$data = 'J+5pNzMyNmU2mij7dMD/qHMAa1dTUh6rZrUuY2l7eDVot058H+AZShmyrB3w/OdLFa2oeH/jYdeYr09l6fxhLPMsLeAwg8MkGmC+Nbz1+kYvogF0EFH1p/KFEzIcNBVfDaa946G+ynGJob9hH1+WlZFwyP79y4/cvxxKNVw8xP1OZWE3';
$decode = encode(base64_decode($data),$key);
echo base64_encode(gzdecode($decode));
?>

[图片]

获取密文

Y21kTGluZQJQAAAAc2ggLWMgImNkICIvdmFyL3d3dy9odG1sL3VwbG9hZC8iO3ppcCAtbyBmbGFnLnppcCAvZmxhZyAtUCBhaXJEQVMxMjMxcWFTV0AiIDI+JjFtZXRob2ROYW1lAgsAAABleGVjQ29tbWFuZA==

base64解码,获得压缩包密码为airDAS1231qaSW@
[图片]

解压获取flag
[图片]

mp3

mp3文件尾存在一png文件,为lsb隐写
[图片]

可以使用zsteg进行提取
[图片]

解压时需要密码,结合mp3的文件名重新分析
mp3文件隐写,mp3stego,甚至连音频都是工具自带的音频,没有密码,直接敲回车即可

Decode.exe -X C:\Users\wha1e\Desktop\cipher.mp3

[图片]

获得密码8750d5109208213f
[图片]

解压获得47.txt
[图片]

根据文件名猜测为rot47
[图片]

得到

a=~[];a={___:++a,aaaa:(![]+"")[a],__a:++a,a_a_:(![]+"")[a],_a_:++a,a_aa:({}+"")[a],aa_a:(a[a]+"")[a],_aa:++a,aaa_:(!""+"")[a],a__:++a,a_a:++a,aa__:({}+"")[a],aa_:++a,aaa:++a,a___:++a,a__a:++a};a.a_=(a.a_=a+"")[a.a_a]+(a._a=a.a_[a.__a])+(a.aa=(a.a+"")[a.__a])+((!a)+"")[a._aa]+(a.__=a.a_[a.aa_])+(a.a=(!""+"")[a.__a])+(a._=(!""+"")[a._a_])+a.a_[a.a_a]+a.__+a._a+a.a;a.aa=a.a+(!""+"")[a._aa]+a.__+a._+a.a+a.aa;a.a=(a.___)[a.a_][a.a_];a.a(a.a(a.aa+"\""+a.a_a_+(![]+"")[a._a_]+a.aaa_+"\\"+a.__a+a.aa_+a._a_+a.__+"(\\\"\\"+a.__a+a.___+a.a__+"\\"+a.__a+a.___+a.__a+"\\"+a.__a+a._a_+a._aa+"\\"+a.__a+a.___+a._aa+"\\"+a.__a+a._a_+a.a__+"\\"+a.__a+a.___+a.aa_+"{"+a.aaaa+a.a___+a.___+a.a__a+a.aaa+a._a_+a.a_a+a.aaa+a.aa_a+a.aa_+a.a__a+a.a__a+a.aa_a+a.aaa+a.aaaa+a.aa_a+a.a_aa+a.a_a_+a.aaa+a.aaa_+a.a__a+a.aaa+a.a_a_+a.__a+a.a_a+a.aa__+a.a__+a.aaaa+a.a__a+a.a__+a.a_aa+a.a__+"}\\\"\\"+a.a__+a.___+");"+"\"")())();

控制台运行即可获得flag
[图片]

机你太美

赛后复现出的,这题不好评价
7zip直接解压获取vmdk,火眼挂载
在这里插入图片描述
一堆加密的zip,一个jpg一个png
在这里插入图片描述
jpg在分析文件头尾的时候直接可以看到,XOR DASCTF2022
或者根据hint查看exif信息。
比赛的时候快猪脑过载了以为这个jpg还藏了东西,结果在这里死磕,就随便用zsteg看了一下png,没仔细看图层。实际上jpg就是告诉你最后和DASCTF2022异或
在这里插入图片描述
stegsolve察看图层
在这里插入图片描述
将其黑白提取为01,获取压缩包密码e01544a9333ef62a3aa27357eb52ea8a
这里搓脚本获取会好一点,正常是用ps截图,然后提取数据,最后再修
我用ps扣下来的图
在这里插入图片描述

这里需要根据情况来进行修改
从第一个黑色像素到最后一个黑色像素一共有255个像素点,而转成01,8位一组需要256个像素点,所以尝试到底是开头缺少一个还是末尾缺少一个,另外还要尝试是黑色代表0还是白色代表0。(当然也有可能是删掉多余的7个)
最终脚本如下:

from PIL import Image


def extract_black_pixels(image_path):
    image = Image.open(image_path)
    pixels = image.load()
    width, height = image.size

    result = ''
    for y in range(height):
        for x in range(width):
            if pixels[x, y] == (0, 0, 0):
                result += '0'
            else:
                result += '1'

    return result


if __name__ == '__main__':
    image_path = 'save.bmp'
    result = extract_black_pixels(image_path)
    print(result)

在这里插入图片描述
经过几次尝试最终有效明文的组合如下:

0110010100110000001100010011010100110100001101000110000100111001001100110011001100110011011001010110011000110110001100100110000100110011011000010110000100110010001101110011001100110101001101110110010101100010001101010011001001100101011000010011100001100001

在这里插入图片描述
对应的压缩包为50.zip,至于其他的压缩包有什么用,姑且当作干扰吧,,,
最后解压出来的玩意和上面获取的字符串异或一下就可以了
在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vlan103

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值