攻防世界 Crypto高手进阶区 5分题 简单流量分析

前言

继续ctf的旅程
攻防世界Crypto高手进阶区的5分题
本篇是简单流量分析的writeup

发现攻防世界的题目分数是动态的
就仅以做题时的分数为准了

解题过程

题目描述
在这里插入图片描述
binwalk无果

查找关键词无果

每个包都有一串字符
在这里插入图片描述

但是常规解密失败

那猜测是某几个长度不对劲的包有问题
或者在长度或ttl之类的数值上做了隐写或加密

然后发现包长度从90到164
而data段的长度从48到122
对应ascii码是0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz

那就提取data长度
转为ascii码
再base64

from pyshark.capture.file_capture import FileCapture
from base64 import b64decode
from sys import argv

def solve(file_name):
    packets=FileCapture(input_file=file_name)
    res=''
    for packet in packets:
        for pkt in packet:
            if pkt.layer_name=='icmp' and int(pkt.type,16):
                res+=chr(int(pkt.data_len))
    return b64decode(res)

if __name__=='__main__':
    print solve(argv[1])

得到flag:flag{xx2b8a_6mm64c_fsociety}

结语

数据包某个数值的长度常被用来传递信息

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值