解锁 CTF 解题新姿势:Trae一键解题

admin 2025年5月20日03:28:20评论0 views字数 3462阅读11分32秒阅读模式

流量分析1

提示词

帮我编写python脚本分析 backdoor++.pcap 。输出icmp协议传输的数据,将数据合并成字符串。

生成代码

#!/usr/bin/env python3from scapy.all import *def analyze_icmp_data(pcap_file):    # 读取pcap文件    packets = rdpcap(pcap_file)    # 提取ICMP包中的数据    icmp_data = ""    for packet in packets:        if ICMP in packet:            # 获取ICMP负载数据            if Raw in packet:                data = packet[Raw].load                try:                    # 尝试解码数据                    decoded_data = data.decode('utf-8', errors='ignore')                    icmp_data += decoded_data                except:                    # 如果解码失败,以十六进制显示                    hex_data = data.hex()                    icmp_data += f'HEX: {hex_data}'    return icmp_datadef main():    pcap_file = 'backdoor++.pcap'    print("[*] 开始分析ICMP数据...")    try:        icmp_data = analyze_icmp_data(pcap_file)        if icmp_data:            print("n[+] 发现ICMP数据:")            print(f"n{icmp_data}")        else:            print("n[-] 未发现ICMP数据")    except Exception as e:        print(f"n[-] 错误: {str(e)}")if __name__ == '__main__':    main()
解锁 CTF 解题新姿势:Trae一键解题
解锁 CTF 解题新姿势:Trae一键解题

流量分析2

提示词1

timu09.pcapng 是一个sql盲注的数据包,请帮我编写python脚本分析请求的数据,分析出攻击者获取到的数据。
解锁 CTF 解题新姿势:Trae一键解题

可以看到只是把数据库的字段提取出来了,还是得一步步引导ai写代码。

提示词2

分析 timu09.pcapng 使用python提取出http请求的url。将url保存到sql.txt中.

解锁 CTF 解题新姿势:Trae一键解题运行结果解锁 CTF 解题新姿势:Trae一键解题

提示词3

注意请分析出flag表中flag_is_here这个字段的值
解锁 CTF 解题新姿势:Trae一键解题

成功获取flag。

密码题1

题目

from secret import flagfrom random import getrandbitsfrom string import *def encrypt(message,a,b,m):    return bytes([(i*a+b)%m for i in message])a,b = getrandbits(4),getrandbits(8)print(f'c = {encrypt(flag,a,b,1<<8)}')# c = b'yxbaxbaxeaxc7x11xc2xc7xcbxd8ZVxd8ZVpxb1xb1xd8x19xa4Vxa4x19x8aMxa83gxd8&x19xdc'

提示词

1.py 是一个密码题,分析加密脚本,帮我编出解密脚本。
解锁 CTF 解题新姿势:Trae一键解题

密码题2

题目

from random import randintfrom secret import flagoffset = randint(1,100) % 26# print(offset)assert flag.startswith('NSSCTF{')assert all([ord(c) not in range(ord('A'),ord('Z')) for c in flag[7:-1]])for char in flag[7:-1]:    if ord('a') <= ord(char) <= ord('z'):        index = ord(char)-ord('a')        new_char = chr((index+offset)%26 + ord('a'))        print(new_char,end='')    else:        print(char,end='')# lzw_uswksj_uahzwj_ak_gfw_gx_lzw_egkl_tskau_udskkausd_uahzwjk

提示词

1.py 是一个密码题,分析加密脚本,帮我编出解密脚本。
解锁 CTF 解题新姿势:Trae一键解题

对话框直接给出flag

解锁 CTF 解题新姿势:Trae一键解题

日志分析1

题目

请分析日志 access.log ,编写python脚本找出该日志中访问量最多的一天,求出该天的访问量,flag提交格式为flag{yyy-MM-dd日期_访问量},例如:flag{2024-01-05_9921}

提示此词

请分析日志 access.log ,编写python脚本找出该日志中访问量最多的一天,求出该天的访问量,flag提交格式为flag{yyy-MM-dd日期_访问量},例如:flag{2024-01-05_9921}

但是ai提示数据量太大,原日志文件有3w多行。

解锁 CTF 解题新姿势:Trae一键解题这里我们把原日志文件改成100行,脚本生成出来之后,再去处理3w的数据量。

import refrom datetime import datetimefrom collections import defaultdictdef analyze_access_log(file_path):    # 使用defaultdict来统计每天的访问量    daily_counts = defaultdict(int)    # 日期格式的正则表达式    date_pattern = r'[(d{2})/(w{3})/(d{4}):'    # 月份名称到数字的映射    month_map = {        'Jan': '01', 'Feb': '02', 'Mar': '03', 'Apr': '04',        'May': '05', 'Jun': '06', 'Jul': '07', 'Aug': '08',        'Sep': '09', 'Oct': '10', 'Nov': '11', 'Dec': '12'    }    try:        with open(file_path, 'r') as f:            for line in f:                match = re.search(date_pattern, line)                if match:                    day, month, year = match.groups()                    # 转换月份名称为数字                    month_num = month_map[month]                    # 格式化日期为yyyy-MM-dd                    date_str = f'{year}-{month_num}-{day}'                    daily_counts[date_str] += 1        # 找出访问量最多的一天        max_date = max(daily_counts.items(), key=lambda x: x[1])        return max_date    except Exception as e:        print(f'错误: {str(e)}')        return Nonedef main():    result = analyze_access_log('access.log')    if result:        date, count = result        flag = f'flag{{{date}_{count}}}'        print(f'访问量最多的日期: {date}')        print(f'访问次数: {count}')        print(f'Flag: {flag}')if __name__ == '__main__':    main()

最后也是完美解题

解锁 CTF 解题新姿势:Trae一键解题

总结

从实际使用情况来看,Trae 的表现相当出色,为我们的工作和解题过程提供了极大便利,显著提升了效率。不过,尽管 Trae 功能强大,却不能成为我们完全依赖的对象。在某些关键环节,人工干预仍然必不可少。毕竟,AI 存在其局限性,它的设计初衷并非完全取代人类操作,而是作为得力助手。

值得注意的是,AI 的最终效能在很大程度上取决于我们输入的提示词。精准、清晰且富有引导性的提示词,能够让 AI 更好地理解我们的需求,从而输出更贴合预期的结果。

原文始发于微信公众号(土拨鼠的安全屋):解锁 CTF 解题新姿势:Trae一键解题

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月20日03:28:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   解锁 CTF 解题新姿势:Trae一键解题http://cn-sec.com/archives/4082037.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息