XCTF-Misc1 延时注入流量分析

本文讲述了如何通过分析延时注入的HTTP流量包,利用Wireshark工具筛选出响应时间超过3秒的注入成功案例,解码ASCII码找到flag关键词。作者还介绍了Wireshark中的时间过滤功能用于追踪和定位这些操作。
摘要由CSDN通过智能技术生成

延时注入流量分析

在这里插入图片描述
附件是一个流量包,查找flag关键字
在这里插入图片描述

分析

1. 分析流量包里面的操作

随意打开一个包,追踪HTTP流量包
在这里插入图片描述
解密请求(URL两次解密)
在这里插入图片描述
语句if((ascii(substr((select flag from flag),1,1))='86'),sleep(3),0) 明显的延时注入

2. 筛选注入成功的流量

由于使用了sleep(3),成功的注入语句会延时3秒。
筛选响应时间大于3秒的流量包:frame.time_delta > 3
在这里插入图片描述

3. 解码对应请求

其实应该是一个批量操作,感觉可以借助tshark工具筛选流量包,追踪对应的请求,把请求另存到文件中直接一次性去解码,但是我还不会设置参数,手工操作的。
把前面得到11条流量包,解码请求,发现缺少3和5对应位置的ASCII码,然后我去匹配了请求包,将测试url中该位置上的最后一次测试的ASCII码作为成功回显的请求(对比了一下筛出来的流量响应序号和时间情况,应该差不多)
在这里插入图片描述
在这里插入图片描述

4. 将ASCII码转换为字符串

x = [102, 108, 97, 103, 123, 49, 113, 119, 121, 50, 55, 56, 49, 125]
y = ""
for i in x:
    y += chr(i)
print(y)

得到 flag{1qwy2781}

小结

  • 延时注入
    sleep()函数,让程序挂起(单位为秒)
    if(x,a,b)语句,如果x为真,则执行a,否则执行b
    substr(string, start, length)函数截取字符串

  • Wireshark筛选器
    http 筛选http协议
    http contains flag 匹配flag关键词
    frame.time_delta > 3筛选响应时间>3

  • Wireshark中time过滤
    frame.time 表示帧被捕获的绝对时间
    frame.time_delta 表示相较于上一个捕获帧的时间增量
    frame.time_delta_displayed 表示相较于上一个显示帧的时间增量
    单位都是秒。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值