[羊城杯 2020]TCP_IP

知识点:IP数据报隐写

标识(Identification):由发送方帮助组装数据报的片段的标识值。

  • 以太网缺省MTU=1500字节,这是以太网接口对IP层的约束(保证链路层的载波多路复用/冲突检测机制),如果IP层有<=1500字节的数据需要发送,只需要一个IP包就可以完成发送任务;如果IP层有>1500字节数据需要发送,需要分片才能完成发送。
  • 也就是说当要发送的数据小于1500字节时,这个地方的数据变得没有意义,这里就是一个隐蔽通道。

打开题目文件:

这里最开始引起注意的有两个地方,SourceIP末尾的数字和Tcp传输的数据,最终都没有发现flag。而是隐写到了IP数据报的Identification字段,tshark命令提取:

tshark -r .\attachment.pcap -T fields -e ip.id > data.txt
  • 字段名可以通过以下方式获得:

得到:

0x00000040
0x00000069
0x00000048
0x0000003c
0x0000002c
0x0000007b
0x0000002a
0x0000003b
0x0000006f
……

ASCII写出:

import binascii

infile = open('Autopy/crypto/doc/form','r')
content = infile.readlines()
flag = b""
for line in content:
    flag += binascii.unhexlify(line.rstrip('\n')[-2:])
infile.close()
print(flag)

得到:

b'@iH<,{*;oUp/im"QPl`yR*ie}NK;.D!Xu)b:J[Rj+6KKM7P@iH<,{*;oUp/im"QPl`yR'

base91解码,或者无脑解码脚本

import base91
print(base91.decode(flag.decode()))
flag{wMt84iS06mCbbfuOfuVXCZ8MSsAFN1GA\xfd\xe3\x9f"1w\xe3Aw\xea\xbe\x18\tXV\xb8|\x8f

flag:

flag{wMt84iS06mCbbfuOfuVXCZ8MSsAFN1GA}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值