流量分析1来自 <攻防世界>
题目描述:流量分析,你知道这堆流量做了什么事情吗,你能恢复出来flag吗?
1,首先查看IPv4统计信息
如果该流量记录的是黑客的攻击行为产生的流量,那么出现频率最高的流量应该来自攻击者
如:39.105.136.196,223.111.22.154,192.168.43.109
2,过滤一下http协议,一般攻击行为多数发生于此
这条流量记录显示了一个HTTP请求,请求的URL中包含了一个复杂的查询字符串,该查询字符串似乎试图利用Gopher协议进行某种攻击。
请求细节
源IP地址: 192.168.43.109
目标IP地址: 39.105.136.196
协议: HTTP
请求方法: GET
请求路径: /index.php?url=gopher://127.0.0.1:80/_POST%20%2Fadmin.php%20HTTP%2F1.1%250d%250aHost%3A%20localhost%3A80%250d%250aConnection%3A%20close%250d%250aContent-Type%3A%20application%2Fx-www-form-urlencoded%250d%250aContent-Length%3A%2078%250d%250a%250d%250aid%253D1%2529%2520and%2520if%2528%2528ascii%2528substr%2528%2528select%2520flag%2520from%2520flag%2529%252C1%252C1%2529%2529%253D%252740%2527%2529%252Csleep%25283%2529%252C0%2529%2520--%2520
潜在攻击分析
- Gopher协议利用: 请求中使用了Gopher协议,这通常用于绕过某些安全机制或直接与服务器上的服务进行交互。
- SQL注入尝试: 请求中的查询字符串包含了一个复杂的SQL语句,试图通过时间延迟(sleep(3))来判断某个字符是否匹配,这是一种典型的SQL盲注攻击。
- 目标文件: 攻击者试图访问/admin.php ,这通常是一个管理员页面,可能包含敏感信息或控制权限
由此就可以总结几条信息:攻击者IP192.168.43.109,服务器39.105.136.196,攻击方式是SQL注入
3,对No.4的数据包tcp追踪流
有一段明显是URL编码特征,对这条URL编码进行解密(需要两次解密)CTF在线工具-在线URL编码|URL解码
这个请求使用了GET方法,访问了/index.php 路径,并传递了一个名为url的查询参数。查询参数的值是gopher://127.0.0.1:80/_POST /admin.php ,这可能是一个尝试利用Gopher协议进行SSRF(服务器端请求伪造)攻击的例子。Gopher协议允许发送任意TCP请求,这里可能是尝试在本地服务器上执行一个POST请求到/admin.php
SQL攻击语句的操作是:对flag字段读取其第一个字符转换为ascii码,判断如果和40相等,就延时三秒;通过这种猜解方式对数据库中的flag进行爆破。那么就可以过滤HTTP延时时间大于3s数据包,http.time >=3
过滤出来14条,追踪它们数据的tcp流,然后对请求做两次url解码处理。例如NO.565
再对每个包里面ASCII编码的进行解码可以达到flag,这里使用python脚本
# 输入几个数字字符串
numbers = input("请输入几个数字字符串,用空格分隔: ").split()
# 将每个数字字符串转换为整数,然后转换为对应的ASCII字符
ascii_chars = [chr(int(num)) for num in numbers]
# 输出结果
print("对应的ASCII字符为:", ''.join(ascii_chars))
运行之后达到结果
flag{1qwy2781}
新知识小结
Gopher协议是一种早期的互联网文件检索协议,它允许用户通过菜单系统浏览和访问网络上的资源。该使用TCP端口70进行通信,并且支持两种主要的操作:GET和POST。GET操作用于检索文件,而POST操作则用于提交数据。Gopher协议的URL格式通常为gopher://host:port/path,其中path部分可以包含进一步的子路径和查询参数1
流量分析2来自 <攻防世界>
题目描述:流量分析,你知道完整内容是什么吗(请关注流量包本身,和对应网址的内容无关)
1,首先查看IPv4统计信息
大致猜测几个出现频率较高的IP来自攻击者
2,尝试过滤了一下有无可疑的POST或GET的请求包
可以看到存在数个GET请求包,记录着两个IP为重点审查对象
3,过滤出以192.168.43.109为源头的数据包
过滤出以39.105.136.196为源头的数据包
两者对比来看可以发现一个现象: 192.168.43.109不断通过http协议向39.105.136.196发送GET请求
4,过滤一下ip.src==192.168.43.109&&http
果然发送了12个数据包,都是test.txt文件,导出来看看:
点击文件——点击导出对象——点击http
然后查看这些文本,每一个txt文件都有字符串,按顺序拼接在一起就组成了flag{17uaji1l}