BUUCTF流量分析题


前言

CTFSHOW : https://ctf.show/challenges (点击网址跳转)
每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。

  • 题目:
  • 解决思路:
  • flag:
  • 本质:
  • 疑问:

wireshark

  • 题目:

解压得到pcap文件
在这里插入图片描述在这里插入图片描述


  • 解决思路:
    在这里插入图片描述

根据提示直接过滤出POST包(管理员登录网址。一般提交数据会用POST方法)

在这里插入图片描述


  • flag:
    flag{ffb7567a1d4f4abdffdb54e022f8facd}

  • 本质:
    • 如果管理员登录时使用的是明文传输(如HTTP协议),攻击者可以通过分析流量包获取管理员的用户名和密码。
    • 通过过滤流量包(如使用http.request.method == POST),可以快速定位到登录请求,并从中提取敏感信息。

被嗅探的流量

  • 题目:
    在这里插入图片描述在这里插入图片描述

  • 解决思路:
    根据题目提示是一段文件传输数据,猜测是http的上传,或者有关文件传输的数据
    先浏览了一下流量,发现HTTP协议的流量有上传文件的痕迹
    在这里插入图片描述

在这里插入图片描述


  • flag:
    flag{da73d88936010da1eeeb36e945ec4b97}

被偷走的文件

  • 题目:

解压得到pcap文件

在这里插入图片描述

在这里插入图片描述


  • 解决思路:

先大致浏览一下流量,发现有flag.rar字样
RETR flag.rar 是一个用于从服务器下载flag.rar 文件的命令,因此这个flag.rar 可能是被偷走的文件
在这里插入图片描述


在kali用foremost分离文件,foremost ‘/home/kali/桌面/1.pcapng’ -o out

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


  • 使用ARCHPR暴力破解,先尝试1-8位数字破解,得出密码为5790
    在这里插入图片描述

  • 输入密码,解压得到flag.txt文件
    在这里插入图片描述

  • flag:
    flag{6fe99a5d03fb01f833ec3caa80358fa3}

easycap

  • 题目:
    解压得到pcap文件
    在这里插入图片描述在这里插入图片描述

  • 解决思路:
    先大致浏览一下流量,发现全部是tcp协议的数据包,追踪tcp流即可得到flag在这里插入图片描述

  • 本质:
    TCP是面向流的协议,数据在传输时会被分割成多个报文段(segments)。追踪TCP流的功能(如Wireshark中的"Follow TCP Stream")会自动将这些分散的报文段按顺序重组,还原出完整的应用层数据流。

  • flag:
    flag{385b87afc8671dee07550290d16a8071}

数据包中的线索

  • 题目:
    解压得到pcap文件
    在这里插入图片描述在这里插入图片描述

  • 解决思路:
    • 先大致浏览一下流量,发现有少数的http数据包有特征(fenxi.php等等),其他协议很普通
      在这里插入图片描述

在这里插入图片描述


  • 过滤出http数据包

  • 追踪编为7的数据包,啥也没有
    在这里插入图片描述

  • 追踪编为60的数据包
    在这里插入图片描述

  • 发现这个包中有一段很长的字符串,结尾看到有“=”号,像是base64编码
    在这里插入图片描述
    在这里插入图片描述

  • 来到一个 在线的base64解码网站https://the-x.cn/base64上,进行解码

  • 发现头文件是JFIF,是图片格式

在这里插入图片描述

  • 开启自动模式,另存为jpg文件
    在这里插入图片描述

  • 打开图片,得到flag
    在这里插入图片描述

  • 方法二:

    • 追踪http流,可以看到加密内容在响应包里面,所以在wireshark中找到响应包中字符位置,选择显示分组字节
      在这里插入图片描述在这里插入图片描述
  • 直接解码并且显示为图像
    在这里插入图片描述


  • flag:
    flag{209acebf6324a09671abc31c869de72c}

秘密文件

  • 题目:
    解压得到pcap文件
    在这里插入图片描述在这里插入图片描述

  • 解决思路:
    • 先大致看一下流量包,发现有flag字眼
      在这里插入图片描述
  • 追踪该数据包的tcp流得到如下,发现有.rar , 大概率就是Hack偷走的文件
    在这里插入图片描述
  • 流量文件中含有rar文件
    在这里插入图片描述
  • 分离出流量包中的rar文件,foremost ‘/home/kali/桌面/1.pcapng’ -o out1
    在这里插入图片描述
  • 需要密码,ARCHPR暴力破解得到密码是1903,打开txt文件得到flag
    在这里插入图片描述

  • flag:
    flag{d72e5a671aa50fa5f400e5d10eedeaa5}

[安洵杯 2019]Attack (难,没写)

  • 题目:
    解压得到pcap文件
    在这里插入图片描述在这里插入图片描述

  • 解决思路:

  • flag:


被劫持的神秘礼物

  • 题目:
    解压得到pcap文件

在这里插入图片描述


在这里插入图片描述


  • 解决思路:
    大致看一下流量包,发现编号为4的http协议数据包的请求路径有login的痕迹
    或者根据题目提示,找到账号和密码,直接过滤http.request.method==POST即可
    在这里插入图片描述
    直接追踪编号为4数据包的http流
    在这里插入图片描述

可以看到账号:admina , 密码:adminb
在这里插入图片描述
题目提示:找到帐号密码,串在一起,用32位小写MD5哈希一下得到的就是答案

import hashlib

def generate_md5_hash(input_string):
    """Generate a 32-bit lowercase MD5 hash from the input string."""
    # 创建 MD5 哈希对象
    md5_hash = hashlib.md5()

    # 更新哈希对象,添加待加密文本(需要先将字符串编码为字节)
    md5_hash.update(input_string.encode('utf-8'))

    # 获取并格式化哈希值为 32 位小写的十六进制字符串
    return md5_hash.hexdigest()

test_string = "adminaadminb"
print(f"The MD5 hash of '{test_string}' is {generate_md5_hash(test_string)}")

在这里插入图片描述

也可以直接在线MD5解密
在这里插入图片描述


  • flag:

flag{1d240aafe21a86afc11f38a45b541a49}


大流量分析(一)

  • 题目:
    解压得到pcap文件
    在这里插入图片描述

  • 解决思路:

  • flag:


大流量分析(二)

  • 题目:
    解压得到pcap文件

  • 解决思路:

  • flag:


大流量分析(三)

  • 题目:
    解压得到pcap文件

  • 解决思路:

  • flag:


模板

  • 题目:
    解压得到pcap文件

  • 解决思路:

  • flag:


模板

  • 题目:
    解压得到pcap文件

  • 解决思路:

  • flag:


### 关于 buuCTF 加固的解思路 #### SQL 注入漏洞分析与修复 在面对 web 服务存在 SQL 注入漏洞的情况下,首要任务是对现有应用程序中的查询语句进行全面审查。通常情况下,SQL 注入发生在开发者直接拼接用户输入到 SQL 查询字符串中时[^4]。 为了防止此类攻击,在编写代码时应采用参数化查询或预编译语句来代替简单的字符串连接方式处理数据库请求。以下是 Python 中使用 `sqlite3` 库执行安全查询的一个例子: ```python import sqlite3 def safe_query(user_input): conn = sqlite3.connect('example.db') cursor = conn.cursor() # 使用问号占位符替代变量插入 query = "SELECT * FROM users WHERE username=? AND password=?" result = cursor.execute(query, (user_input['username'], user_input['password'])) data = result.fetchall() conn.close() return data ``` 通过这种方式能够有效阻止恶意构造的 SQL 片段被执行,从而保护系统的安全性。 #### 学习路径建议 对于想要深入理解 CTF 比赛以及网络安全领域的新手而言,可以从以下几个方面入手准备: - 掌握计算机网络基础知识,了解 OSI 参考模型各层功能及其对应的工作机制;熟悉 HTTP、TCP/IP 等常用协议的具体工作过程; - 对 Web 安全有基本认识,特别是针对常见的漏洞类型如 XSS 跨站脚本攻击、CSRF 跨站点请求伪造等进行研究; - 练习实际操作技能,利用在线平台提供的实验环境(如 BUUCTF),不断积累经验并提高解决问的能力[^2]。 #### 相关资源推荐 除了官方文档外,互联网上还有许多优质的开源项目和社区可以帮助大家更好地理解和掌握这些概念和技术细节。例如 GitHub 上有许多优秀的 CTF 工具集合仓库可供参考学习[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

粤安有我_小曾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值