CTF-MISC比赛技巧总结之隐写术

一、第一阶段(观):
1.flag藏在文本文件里面,直接ctrl+F就可以查找到;
2.flag被字符隔开,在头或尾上,这个时候就只用消除间隔字符就可以了;
3.flag被隐藏在加密字符中,解密特定字符即可;
4.flag被被隐藏在属性里面,查看属性即可;
5.flag需要用EIXF在线查看器查看;
6.打开压缩包的密码被放在旁边的注释里面;
7.利用stegsolve对GIF图逐帧查看,得到隐藏在GIF中的flag;
8.利用stegsolve进行反色,反色后会有出现隐藏在颜色里面的flag,如果有不清晰就用py脚本进行反色;
9.在我的世界存档里面,通关后会得到一串编码,最后解码得到flag;
常用工具:stegsolve、EIXF在线查看器、winhex、在线解密器
二、第二阶段(改):
1.文件头尾损坏,需要修改头尾,熟悉各类文件头尾;
2.伪加密,未加密情况下修改标志位导致文件有密码;
3.修改图片宽高,题目给出宽高的话,直接修改就可以了,题目未给出宽高,先修改宽再改高,可以用CRC32值进行宽高值的计算,也可以写脚本进行宽高的分别爆破,但记住控制变量;
4.宽高的修改为为将宽高转化为16进制,找到宽高的16进制对应数据位,然后对宽高进行16进制修改,还有可能在宽高数据位会反写,正常修改即可;
5.用010查看有多个DATA数据块的时候进行数据块删除,使用工具tweakpng进行数据块删除,保存就可得到正确的flag图片;
6.在winhex中查看有多个文件头,或者用binwalk检测到多个文件在单一文件内,可以对文件头文件尾进行定位复制提取文件;
常用软件:010、winhex、binwalk、tweakpng
三、第三阶段(分离):
1.直接可以利用binwalk进行分离,分离出压缩包或者文档、照片等;
2.thumbnail 隐写,exiftool -ThumbnailImage -b misc22.png > 123.txt ;
3.在以上的情况都没法的情况下,利用foremost -i [文件] 进行分离即可,在output中即可找到;
4.还有一种方法可以用zsteg进行分离,同样也可以,各有不同;
5.apng后缀的文件,可以用apngdis进行分离,否者会很麻烦,此种文件binwalk无法分离;
6末尾冗余数据收集,因为一边在结束位置后面,一般会有一些固定数据组,冗余数据则是可以将多个文件末尾的数据进行收集,最后变成一个新文件;
7.用stegsolve对LSB隐写的数据进行分离,即可得到正确的flag;
8.用zsteg查看extradata:0,然后用 zsteg -e " extradata:0 " misc17.png > ./1.txt
常用工具:binwalk、exiftool、zsteg、stegsolve、foremost、apngdis
四、第四阶段(破):
1.宽高无法确定时,用py脚本进行爆破;
2.压缩包是真加密时,用爆破字典工具进行爆破;
3.在CRC32值有问题时候,也就是同样文件的情况下,CRC32值不同,用明文攻击;
4.在流量分析包里面,部分协议可以找到密码,即可得到密码进行解密;
常用工具:7zcracker、ARPR_2、Ziperello、wireshark

CTF-MISC比赛技巧总结(一)的更多相关文章

  1. ACM比赛技巧

    一.语言是最重要的基本功   无论侧重于什么方面,只要是通过计算机程序去最终实现的竞赛,语言都是大家要过的第一道关.亚洲赛区的比赛支持的语言包括C/C++与JAVA.笔者首先说说JAVA,众所周知,作 ...

  2. 2018 巅峰极客CTF misc writeup

    flows 拿到一个pcap包,用wireshark打开,发现是USB协议,尝试在kali下使用tshark提取,提取失败,发现异常.回到wireshark分析数据.在其中一个数据包中发现了tip 把 ...

  3. 【CTF MISC】隐写术wireshark找出图片-“强网杯”网络安全挑战赛writeup

    这场CTF中有一道题是分析pcap包的.. 13.大黑阔: 从给的pcap包里把图片提取出来,是一张中国地图. 题目提示是黑阔在聊天,从数据里可以找出几段话. 思路:主要考察wireshark的过滤规 ...

  4. ctf misc 学习总结大合集

    0x00 ext3 linux挂载光盘,可用7zip解压或者notepad搜flag,base64解码放到kali挂载到/mnt/目录 mount 630a886233764ec2a63f305f31 ...

  5. 01 CTF MISC 杂项 知识梳理

    1.隐写术( steganograhy ) 将信息隐藏到信息载体,不让计划的接收者之外的人获取信息.近几年来,隐写术领域已经成为了信息安全的焦点.因为每个Web站点都依赖多媒体,如音频.视频和图像.隐 ...

  6. 【CTF MISC】pyc文件反编译到Python源码-2017世安杯CTF writeup详解

    1.题目 Create-By-SimpleLab 适合作为桌面的图片 首先是一张图片,然后用StegSolve进行分析,发现二维码 扫码得到一串字符 03F30D0A79CB0558630000000 ...

  7. 【CTF MISC】文件内容反转方法-2017世安杯CTF writeup详解

    Reverseme 用winhex打开,发现里面的字符反过来可以正常阅读,所以文件被倒置了 Python解题程序如下 with open('reverseMe','rb') as f: with op ...

  8. P.W.N. CTF - MISC - Canadian FOI

    题目 链接:https://ctftime.org/task/6935 题解 只有两个页面的网站,index.html和about.html index.html页面有一个pdf链接,指向http:/ ...

  9. 实战经验|大神战队都在i春秋教你打CTF

    全国大学生信息安全竞赛创新实践能力赛旨在培养.选拔.推荐优秀信息安全专业人才创造条件,促进高等学校信息安全专业课程体系.教学内容和方法的改革,培养学生的创新意识与团队合作精神,普及信息安全知识,增强学 ...

  10. CTF:从0到1 -> zero2one

    本篇blog首发0xffff论坛(CTF:从0到1->zero2one - 0xFFFF),中间有各位大佬补充,搬到了个人博客CTF:从0到1 -> zero2one | c10udlnk ...

随机推荐

  1. 成功解决Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings

    文章目录 1.问题描述 2.问题的解决方式 2.1 查看网络连接问题 2.2 设置代理 2.3 直接连接阿里云下载模板 1.问题描述 建立springboot项目的时候发现不能初始化成功,我真的栓Q ...

  2. 齐博x1where 标签动态变量查询/where 实现条件筛选与数据关联

    大家可能对union参数不太习惯的话,也可以用where语句加入动态变量查询,比如 where="fid=$fid&uid=$info[uid]&pid>=$info. ...

  3. 7_vue的数据代理,双向绑定

    回顾 object.defineProperty() 方法 区别 defineProperty == 给对象定义属性用的 需要传递三个基本参数 需要定义属性的对象名 你要定义的属性叫什么名字(比如给p ...

  4. 常用排序算法(C语言)

    1.冒泡排序 void BubbleSort(int a[],int len) {int tmp; for (int i=0; i<n-1; i++) { int flag = FALSE; f ...

  5. 30.Serializers模块源码解析

    rest_framework序列化类的继承关系 field类: 序列化基类的基类 BaseSerializer: 继承field 派生ListSerializer序列化类 Serializer: 继承 ...

  6. 《上传那些事儿之Nest与Koa》——文件格式怎么了!

    转载自:juejin - 马睿不想说话 概要 本文主要针对在使用node作为服务端接口时,前端上传上传文件至node作为中转,再次上传至oss/cdn的场景.以及针对在这个过程中,需要对同一个文件进行 ...

  7. DevOps|乱谈开源社区、开源项目与企业内部开源

    之前的一篇文章<从特拉斯辞职风波到研发效能中的荒唐事>中关于企业内源的内容在研发效能群内引起了大家的热烈讨论.有的小伙伴不同意,有的小伙伴非常不同意,我觉得这都是非常正常的反馈,话不说不透 ...

  8. Vue3 企业级优雅实战 - 组件库框架 - 2 初始化 workspace-root

    上文已经搭建了 pnpm + monorepo 的基础环境,本文对 workspace-root 进行初始化配置,包括:通用配置文件.公共依赖.ESLint. 1 通用配置文件 在项目 根目录 下添加 ...

  9. go GMP

    动态栈 操作系统的线程一般都有固定的栈内存(通常为2MB),而 Go 语言中的 goroutine 非常轻量级,一个 goroutine 的初始栈空间很小(一般为2KB),所以在 Go 语言中一次创建 ...

  10. Perl exists 函数和defined函数的区别

    Perl exists 函数和defined函数的区别