Problem: [鹤城杯 2021]流量分析
思路
- 1、提取数据包中sql注入的日志
- 2、利用脚本读取每个位置最后一个匹配的字符,获取flag
EXP
- wireshark
http and ip.src== 192.168.246.23

导出后
利用脚本获取每个位置最后一个匹配字符
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import re
# 日志文件路径
logfile = "sql.log"
# 存储每个位置的值
password_hex = {}
pattern = re.compile(r"\),(\d+),1\)\)=([0-9A-Fa-f]+)--\+")
# pa
with open(logfile, "r") as f:
for line in f:
import urllib.parse
line = urllib.parse.unquote(line)
m = pattern.search(line)
if m:
pos = int(m.group(1))
val = m.group(2)
# 记录该位置的值
password_hex[pos] = val
# 按位置排序输出完整密码
password = ""
for pos in sorted(password_hex.keys()):
hex_val = password_hex[pos]
try:
char = chr(int(password_hex[pos]))
except:
char = "?"
password += char
print("Recovered password/flag:", password)
总结
- 流量分析、sql日志分析

加载中...