2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写【T.O.CTF】
引语
Misc,杂项,一般指无法以CTF五大方向分类的题目类型,而在安全从业方面又需要用到的知识,是一项安全题目大杂烩。
Misc题目一般分为这几种类型:
1、签到题,一般在比赛第一题出现,属于体验类的题目,不注重考察知识,更注重激起兴趣,进入状态。
2、考察在安全领域常用而又不属于五大方向分类的知识。这类题目出现的频率最高,如流量包分析、压缩包分析、图片/音频/视频隐写、内存硬盘交互等等。
3、脑洞题。一般以编码、解码为主,通过对出题者提供的文本解码,猜测解码的算法、顺序等,得出明文flag。属于经验加创造性的题目,无法可依,一般不会特别偏门奇异,否则出题人会被暴打。
4、考察解题者知识深度和广度。
5、考察快速学习能力。出一道大多数解题者都没有见过的题目,要求解题者通过搜索引擎或者题目提供的信息快速学习解题规则和方法,从而解出题目。(牢记!搜索引擎是你最好的伙伴!)
隐写术
1、直接附加
大部分文件有其独特的文件结构,常见的图片格式如.png, .jpg等等都是由一系列特定的数据块组成。
例如,.png文件由IHDR(文件头数据块)、PLTE(调色板数据块)、IDAT(图像数据块)、IEND(图像结束数据)这四个标准数据块 和一些辅助数据块组成,每一块数据块由Length、Chunk Type Code(数据块类型码)、Chunk Data(数据块数据)、CRC(循环冗余校验码)四部分组成。
PNG文件总是由固定的字节(89 50 4E 47 0D 0A 1A 0A )开始,我们可以根据这一段字节判断是PNG文件。而图像结束的IEND用来标记PNG文件已经结束,IEND数据块的长度总是00 00 00 00,数据标识总是49 45 4E 44,因此CRC固定是AE 42 60 82.因此,PNG文件一般会以(00 00 00 00 49 45 4E 44 AE 42 60 82)作为结尾。这之后的内容会被大部分图片查看软件忽略,因此在IEND后随意修改数据并不会导致图片查看内容的改变,因此达到隐写的目的。
演示一下,随意下载一个名为sheep.png的png文件:
(woc,这个PNG文件也太大了,看来JPG这种有损压缩还是有其必要性)
是只羊,没错............
用windows自带的图片浏览器打开。然后关掉。拖入010 Editor中分析,清楚看到PNG文件头:
然后动用搜索功能,输入PNG文件尾IEND的代码:(00 00 00 00 49 45 4E 44 AE 42 60 82)
找到了,可以看到,这个图片在IEND后没有藏任何东西,但是CTF比赛时的隐写大多就出在这。
写入HELLO WORLD!HAHH 可见红色字提示无法到达,保存后再次打开图片,发现没有不同
这就是隐写。有时候文件背后不单指藏一个简单的字符串,有可能是一个文件,因此认识必要的文件标识方式就很有必要:
JPEG(jpg)头:FF D8 FF 尾:FF D9
PNG(png)头:89 50 4E 47 尾: AE 42 60 82
GIF(gif)头:47 49 46 38 尾: 00 3B
2021-11-28 Misc 杂项略览 一 图片隐写1 直接隐写【T.O.CTF】相关推荐
- [2021.11.28]使用摄像头预览和拍照(Camera1)
参考文章: https://blog.csdn.net/u011418943/article/details/107256406 https://blog.csdn.net/xiaodongvtion ...
- 2021-11-30 Misc 杂项略览 二 压缩包加密【T.O.CTF】
大家有遇到过压缩包加密的苦恼吗?我遇到过,在下载好了心心念念的 新世纪福音战士新剧场版:||之后,准备解压大快朵颐,解压软件却提示要你输入密码,而你恰恰又不知道,我相信你的心态一定会爆炸.这类让人心烦 ...
- 2021.11.28
经典例题 1.下面的程序完成求10名学生的数学成绩的平均分数,请填空. 解法: 2.在数组fa中查找fn,找到输出"YES",否则输出"NOT FOUND" 解 ...
- 2021.11.28周总结
TS 第一次用TS写项目,真是一报错就any,anyscript实锤了. TS让项目进度拖慢了有起码二分之一=.=,不过问题在还是对TS不熟悉和,源哥暑假就在看TS的书了,真是落伍了,昨天关注了源哥的 ...
- 2021.11.22-11.28 AI行业周刊(第73期):工作的需求
篇章一:工作的需求 最近可能到了年底,很多朋友都在蠢蠢欲动,看外面的机会. 微信上最近每天也有几个朋友,和我实时分享他们最新的动态. 发现一个比较有意思的现象:人生不同阶段的人,求职的需求都比较相似. ...
- 前端面经笔记 2021.8.28
前端面经笔记 2021.8.28 下面哪些执行结果为true() A.'foo' == new function(){ return String('foo'); }; B.'foo' == new ...
- 【干货】2021短视频营销攻略:短视频内容策略下的5i沟通法则.pdf(附下载链接)...
大家好,我是文文(微信号:sscbg2020),今天给大家分享阿里妈妈和淘宝短视频于2021年1月份联合发布的报告<2021短视频营销攻略:短视频内容策略下的5i沟通法则.pdf>,短视频 ...
- 2021.11.8-11.14 AI行业周刊(第71期):AI行业经验
篇章一:行业经验 不同的AI公司,对于AI产品的场景定位不同. 有的公司是面向C端产品.有的公司专门做B端用户. 当然大白所在的公司,也有具体的定位,主要面向智慧金融.智慧机场.智慧城市. 之前,一直 ...
- 《星科快报》2021.11.11何为NFT
<星科快报>2021.11.9---何为NFT 艺术经销商.Artnet专栏作家和自称为NFT的传播者Kenny Schachter认为,数字作品可能会在五年内让传统艺术市场黯然失色. 本 ...
最新文章
- R语言ggplot2可视化添加希腊字母标签:图表题(title)中加入希腊字母、图中加入希腊字母标签
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第8章-高阶非线性多智能体分布式自适应鲁棒控制
- Tomcat - Tomcat 网络通信模型剖析 并发参数解读
- 《走遍中国》珍藏版(五)
- Linux时间函数札记
- 【终于等到你】7种策略解除云风险警报
- 使用between and查找时间范围时的日期边界问题
- Java方法的可变参数
- java调用机器上的shell脚本
- 计算机教师自检自查报告,信息技术教学工作自查报告
- 一位 JavaScript 铁杆粉眼中的 Rust!
- 配置Voice vlan
- 泰山游记:路上瓶装水很便宜,2元
- office 打开wps乱_word打开wps是乱码怎么办
- Java的依赖对象是什么意思_面向对象编程依赖注入详解
- requests使用案例 爬取信用中国
- java的if 、if else、while、do while、switch、for执行语句
- react-native-root-siblings 在应用的根元素之后添加兄弟元素
- 校企共育数字化时代物联网技术应用人才基地建设方案
- BUUCTF:异性相吸
热门文章
- java网页设计_java设计的登录页面
- 基于OpenCV的跳一跳外挂实现原理
- 【前端系列教程之CSS3】04_CSS定位和浮动详解
- 丐帮选CEO的四种模式
- java黑白棋原码_JAVA课程设计黑白棋源代码
- python 自动生成数字_python – 使用yaml自动生成配置和具有数字...
- 李峋 爱心代码 点燃我温暖我
- 反射、io流、正则、网编、MySql、JavaWeb、Android等等等等等等等等等等等等等等等等等~~~~~~
- 如何新建一个oracle数据库,ORACLE怎么新建数据库
- pytorch 调参