【CTF】新手misc方向解法总结

复盘7.26-7.30+8.2-8.3 misc 方向解题方法

图片题

用到最多的工具就是010editor、winhex、Stegsolve、puzzlesolver、PS等等

1、对于单张图片,放到010editor中

查看文件类型,修改成对应的文件后缀

查看ASCII码部分有没有暗示,有flag.txt等文件可用foremost分离,出现Photoshop就放到PS里面看图层

查看IDAT块有没有多出来的,有的话用tweakpng把正常的IDAT块删除,异常的保存成新文件查看

如果图片显示不完整,用puzzlesolver,imagetools—fix—进行图片宽高爆破

2、对于多张图片,目前遇到的是黑白纯色图表示二进制,利用黑白的md5值不同,python脚本运行

3、对于gif:

Stegsolve抽帧

puzzsolver—imagetools—拆分gif/gif帧间隔

文本题(无附件)

这种基本就是各种编码、密码、进制转换,如base64、摩斯电码,着重观察

1、繁体字

与佛论禅,注意前面要加佛曰两个字

2、字母数字

看题干,比如攻防世界中的【如来十三掌】,就用到了rot13编码

比如攻防世界中的【掀桌子】

官方wp是【每两个一组,将16进制转换为10进制,减去128以后输出 ascii】

但是我觉得用户Orino的WP更符合题目(?

3、base64隐写

我们知道,base64是6bit编为1个字符,而1个字节是8bit,因此base64可能会出现3种情况:刚好能编完(例如3个字节的字符串base64加密后有4个字符)、剩余2bit(例如2个字节的字符串base64加密后第3个字符只编码了4bit,此时使用=补充6bit)、剩余4bit(例如1个字节的字符串base64加密后第2个字符只编码了2bit,此时使用==补充12bit),由于第3/2个字符只编码了4/2bit,所以只有前面被编码的bit是有效的,而后面的bit则在正常情况下默认填0,因此可以将想隐写的数据隐藏在后面的bit中,即:1个=可以隐藏2个bit
我们将这些bit读出来,拼在一起转换为字符串即可获得flag
————————————————
版权声明:本文为CSDN博主「古月浪子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tqydyqt/article/details/102002577

直接上解密脚本:

import base64
b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
with open('stego.txt', 'rb') as f:
    bin_str = ''
    for line in f.readlines():
        stegb64 = str(line, "utf-8").strip("\n")
        rowb64 = str(base64.b64encode(base64.b64decode(stegb64)), "utf-8").strip("\n")
        offset = abs(b64chars.index(stegb64.replace('=', '')[-1]) - b64chars.index(rowb64.replace('=', '')[-1]))
        equalnum = stegb64.count('=')  # no equalnum no offset
        if equalnum:
            bin_str += bin(offset)[2:].zfill(equalnum * 2)
        print(''.join([chr(int(bin_str[i:i + 8], 2)) for i in range(0, len(bin_str), 8)])) 
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/xiao__1bai/article/details/119819631

压缩包

1、如果解压显示损坏,放到winhex中查看文件块

附RAR文件块知识(我也还没太搞懂)

2、解压时显示需要密码,可以考虑伪密码

winhex打开,搜索16进制504B0102,从50开始算,第九第十个字符为加密字符,改为00 00,重新保存再打开解压

例题是攻防世界的【base64stego】

流量包

主要使用wireshark、formost

例题是攻防世界的【功夫再高也怕菜刀】

一下载附件,打开发现是流量包,然后我们使用foremost分解一下,得到一个加密的压缩包

二使用wireshark打开流量包,查找flag,选择第1150个,右键,追踪流 -> TCP 流

三从 FFD8FF 开始到 FFD9 复制出来,保存为jpg格式,打开图片

注意第三步,复制后要在winhex新建文件,粘贴在右侧ASCII区域,格式选择ASCII Hex,载保存即可

PDF

在浏览器中全选,复制粘贴,看看有没有异常的东西

最后,这就是我最近几天学习misc 的小小的复盘总结,

密码、编码以及文件块这几部分还是没有了解透彻,wireshark、Burpsuite这两个工具还不是很会用,python语言比较薄弱

<think>嗯,用户说他对CTF比赛几乎没有任何了解,但明天就要参加比赛,需要紧急应对。我得先理清CTF的基本概念和比赛形式,然后快速给出他能立刻上手的方法。 首先,CTF通常分为几个题型:Web安全、逆向工程、密码学、二进制漏洞利用、取证分析、隐写术等等。用户是新手,时间紧迫,可能需要重点介绍最常见的题型和快速解题技巧。 用户可能需要知道比赛的基本流程,比如如何获取题目、提交答案的格式(通常为flag{...}),以及如何利用工具和在线资源。但得避免信息过载,挑重点讲。 接下来,分步骤指导。第一步应该是了解比赛规则和题目类型,但用户可能没时间详细研究,所以得简化。然后,针对每个主要题型给出快速入门的方法,比如Web题常见的SQL注入、目录遍历,密码学中的凯撒密码、Base64编码等基础内容。 工具推荐很重要,比如Burp Suite用于Web,Wireshark用于流量分析,以及在线解码工具。但用户可能不会安装复杂工具,所以推荐一些在线资源或简单易用的工具。 实战技巧方面,需要强调团队合作、查看源代码、检查文件属性、使用搜索引擎和CTF社区资源。这些都是用户能快速应用的策略。 最后,心理建设也不能少,鼓励用户保持冷静,从简单题入手,积累经验。可能还需要提醒他注意flag的格式和提交注意事项,避免因为格式错误丢分。 需要确保回答结构清晰,每个部分简明扼要,避免技术术语过多,用简单的中文解释。同时检查是否符合系统指令,比如数学公式的正确格式,使用中文回答,分点说明等。 可能遗漏的点:举例说明某些题型的具体解题步骤,比如如何用凯撒密码解密一段文本,或者如何用Burp Suite拦截请求。但时间有限,可能需要平衡理论和实例。 总之,整理出一个步骤式指南,覆盖基本知识、题型简介、工具推荐、实战技巧和心理建议,帮助用户在短时间内做好应对准备。</think>好的,我将用最简洁有效的方式帮你快速建立CTF比赛应对框架。请按照以下步骤操作: # 一、CTF基础认知(10分钟) 1. 比赛形式:解题模式(Jeopardy),通常包含以下题型: - Web安全(40%题目) - 密码学(20%) - 逆向工程(15%) - 隐写术(10%) - 杂项/Misc(15%) 2. 通用解题流程: 发现题目 → 分析线索 → 使用工具 → 获取flag → 提交`flag{...}`格式答案 # 二、重点题型速攻指南 ## 1. Web安全(优先突破) - 必会工具:浏览器开发者工具(F12)、Burp Suite社区版、curl - 常见考点: ```bash # 快速检测目录遍历 curl http://target.com/?file=../../../../etc/passwd # SQL注入基础检测(单引号测试) http://target.com?id=1'%20-- ``` ## 2. 密码学(新手友好) - 必备网站:https://gchq.github.io/CyberChef/ - 高频考点: - Base64编码:`echo "UERPQ0tF" | base64 -d` - 凯撒密码:字母位移(如ROT13) - 摩尔斯电码:在线转换工具 ## 3. 隐写术(快速得分) - 工具套装:StegSolve、binwalk、zsteg - 三板斧: 1. `file 可疑文件` 查看文件类型 2. `strings 文件 | grep flag` 搜索字符串 3. `binwalk -e 文件` 分离隐藏文件 # 三、紧急工具箱配置 1. 在线解码平台:https://www.dcode.fr/ 2. 常用Linux命令: ```bash strings 文件名 # 提取文件中的可读字符串 xxd 文件名 # 十六进制查看 foremost 文件名 # 文件分离 ``` 3. 浏览器书签: - CTF Wiki(https://ctf-wiki.org/) - HackTricks(https://book.hacktricks.xyz/) # 四、实战技巧(立即生效) 1. 所有题目首先检查: - 网页源代码(Ctrl+U) - 响应头信息(Network标签) - 文件属性(`exiftool`) 2. 遇到二进制文件: ```bash checksec --file=二进制程序 # 检查保护机制 strings 二进制程序 | grep -i flag ``` 3. 万能解法链: 查看文件类型 → 提取隐藏内容 → 尝试常见编码 → 组合工具输出 # 五、心理建设 1. 预期管理:新手目标不是获奖而是学习 2. 有效策略: - 优先做有提示的题目 - 关注比赛实时公告(可能有提示) - 合理使用官方提供的hint 示例演练(Web题): 1. 访问题目URL 2. 按F12查看控制台警告信息 3. 发现注释中的`<!-- flag在/backup目录 -->` 4. 访问`/backup/.git`目录 5. 使用`git log`查看提交历史 6. 找到flag提交记录 记住:CTF比赛中,80%的题目只需要基本工具+细心观察就能解决。保持冷静,遇到难题及时切换题目,祝您比赛顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值