Google-CTF-2016(a-cute-stegosaurus-100)
前言:别人发的题目 随便看看 记录一下解题过程!
知识点:
在报文段中有 6Bit 的状态控制码, 分别如下tcp
URG:紧急比特(urgent), 当 URG=1 时,表明紧急指针字段有效, 代表该封包为紧急封包。它告诉系统此报文段中有紧急数据,应尽快传送 (相当于高优先级的数据)
ACK:确认比特(Acknowledge)。只有当 ACK=1 时确认号字段才有效, 代表这个封包为确认封包。当 ACK=0时,确认号无效。
PSH:(Push function)若为 1 时,代表要求对方立即传送缓冲区内的其他对应封包,而无需等缓冲满了才送。
RST:复位比特 (Reset) , 当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
SYN:同步比特 (Synchronous),SYN 置为 1,就表示这是一个连接请求或连接接受报文, 通常带有 SYN 标志的封包表示『主动』要连接到对方的意思。
FIN:终止比特 (Final),用来释放一个连接。当 FIN=1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。首先打开数据包筛选一下HTTP
协议 里面有张图片(一张剑龙图片,会联想到隐写误导你)
这里的考点是URG
通过tshark
提取 tcp.urg
然后取出0
的字段转 ascii
即可得到 flag
PS :一看是2016年的题目 现在这种题目挺多的 USB
键盘鼠标流量 使用工具提取 然后转码
tshark -r stego.pcap -T fields -e tcp.urgent_pointer|egrep -vi "^0$"|tr '\n' ','
CTF{And_You_Thought_It_Was_In_The_Picture}