记一道CTF隐写题解答过程】的更多相关文章

  0x00 前言 由于我是这几天才开始接触隐写这种东西,所以作为新手我想记录一下刚刚所学.这道CTF所需的知识点包括了图片的内容隐藏,mp3隐写,base64解密,当铺解密,可能用到的工具包括binwalk,MP3Stego等. 题目链接:http://ctf5.shiyanbar.com/stega/apple.png 0x01 试探 这几天我养成了一个习惯,拿到题目不管三七二十一先到kail上面跑一跑.一来可以多用用里面丰富的工具,二来可以拓展解题思路. 首先.命令行输入wget http…
[CTF隐写]png中CRC检验错误的分析 最近接连碰到了3道关于png中CRC检验错误的隐写题,查阅了相关资料后学到了不少姿势,在这里做一个总结 题目来源: bugku-MISC-隐写2 bugku-MISC-再来一道隐写 JarvisOJ-MISC-炫酷的战队logo 基础知识: ​ 先分析png的文件格式,用16进制编辑器010editor打开一张正常的png图片,逐字节分析如下: 前八个字节89 50 4E 47 0D 0A 1A 0A为png的文件头,该段格式是固定的 上图中高亮部分称…
题出自https://leetcode.com/problems/rotate-image/ 内容为: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Follow up: Could you do this in-place? 简单的说就是给出一个n*n的二维数组,然后把这个数组进行90度顺时针旋转,而且不能使用额外的存储空间. 最初拿到这道题…
0x题目 原题来自于实验吧:http://www.shiyanbar.com/ctf/1992 一句话,和一个PNG图片. 0x解题 1.下载图片以后,发现打不开. 首先想到的就是文件头可能被修改了,那么先把文件修复.用Hex Workshop 打开图片 2.很明显的文件头被修改过了. PNG格式文件头位置的固定字节如下: 十进制数 十六进制数 4E 0D 0A 1A 0A 注:第一个字节0x89明显超出了ASCII编码的范围,这是为了避免和某些软件将PNG文件当做文本格式来处理. 3.修改文件…
题目如下 解答如下 #include <stdio.h> #include<math.h> double Mysqrt(double n) { return sqrt(n); } int main() { double a[][2] = { {1,1.2},{1,1},{2,1.2},{2,1} ,{3,4} ,{2.2,1.2} ,{1,7} ,{4,1.8} ,{1.1,9} ,{3,5} ,{5,6} }; double max = 0; for (int i = 0; i…
刚开始下载下图片来 习惯性的binwalk一下 没发现东西 formost一下也没分离出来 扔进c32asm中发现有nvshen.jpg 于是改后缀名字为.zip 解压nvshen.jpg发现无法解压 然后下载了几个GIF文件图片 看了看文件尾 之后再题目图片中搜索 003B 将之后的乱码提取出来保存为zip文件 但还是没法搞定 之后发现zip文件头不对 于是百度一下504B030414000000替换之  解压 找到女神图片 校验工具查看之  …
MISC-1 提示:if you want to find the flag, this hint may be useful: the text files within each zip consist of only "printable" ASCII characters 给了53个加密压缩包,每个包分别含有一个txt文件,首先想到暴力破解压缩包,试过各种破解工具后发现并不能用,于是想到使用脚本.以下是py脚本: #coding:utf-8 import zipfile imp…
可以看到图片是不完整的就联想到其高宽问题.使用winhex打开 将高里面的01改成11 get flag{He1I0_d4_ba1}…
---恢复内容开始--- 做这道题目的经历比较坎坷,题目中用于隐藏flag的jpg文件出了问题,导致不能被交换数据流隐写所以出题人换了一次题目,最后做法也换了,不过出题人一开始的考察点还是基于NTFS交换数据流隐写. 0x1.什么是NTFS数据交换流(ADS) NTFS交换数据流(Alternate Data Streams,简称ADS)是NTFS磁盘格式的一个特性.在NTFS文件系统下,每个文件都可以存在多个数据流,意思是除了主文件流之外还可以有许多非主文件流寄宿在主文件流中,这些利用NTFS…
题目来自bugku 二话不说,直接上图 由题目可以看出,这题需要用到一个KEY,加上又是一段音频,很容易联想到一个著名的音频隐写解密软件Mp3stego 直接上工具 ok,成功Get Flag…
十二.再来一道隐写 下载文件后打开,用常用的几个方法都没有找到有用的信息,然后观察图片发现搞度有点低,所以用WinHex打开把图片高度改大,保存.再次打开图片发现flag…
Bugku CTF练习题---杂项---隐写3 flag:flag{He1l0_d4_ba1} 解题步骤: 1.观察题目,下载附件 2.打开图片,发现是一张大白,仔细观察一下总感觉少了点东西,这张图好像不是完整的 3.打算使用UE打开看看,调整一下高度,在第二行把01和后面的00改成02和A7,调整一下高度. 4.调整后高度进行保存,再点开图片看看,果然得出了答案,直接提交…
bWFpbigpe2ludCBpLG5bXT17KCgoMSA8PDEpPDwgKDE8PDEpPDwoMTw8Cm==ICAgICAgIDEpPDwoMTw8KDE+PjEpKSkrKCgxPDwxKTw8KDE8PDEpKSksKCgoMQp=ICAgICAgIDw8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKQq=ICAgICAgIDw8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMQ…
①JPG图片的结束符,十六进制常为FFD9 ②binwalk的原理是:检查常见的文件头信息,如果不符合,一定有隐藏信息.③JPG是有损压缩,PNG是无损压缩,BMP是不压缩. 隐写的基本原理:图片查看器会忽视掉结束符之后的内容,所以追加在结束符后面的内容会被隐藏起来.…
今天做CTF隐写术的题偶然发现一隐写图片查看的神器------stegsolve,分享给大家 stegsolve下载地址:http://www.caesum.com/handbook/Stegsolve.jar stegsolve安装配置:配置好Java环境变量(就是需要安装Java,然后配环境变量,具体的配置过程上网一搜一堆,这里就不赘述) 配置好环境之后直接打开就可以使用 stegsolve功能简介: 上面是软件打开的界面,界面简单.主要供能为analyse,下面对Analyse下面几个功能…
LSB也就是最低有效位 (Least Significant Bit) 被替换成传递的信息字节.对原图影响很小. 这题可以算是隐写工具[wbStego]的使用入门练习题吧. 第一步,告诉你工具是支持在BMP文件中隐写的. 第二步,我们选用的解密功能Decode 第三步,选择源文件 第四步,问密码,没密码直接[Continue] 第五步,给起一个好听的输出文件名字 第六步,设置完成,准备发射啦. 结果当然是成功啦 很奇怪产生的文件名是1.txt._is, 用[WinHex]看一看,有CTF{}…
目录 0x00 first 前几天joomla爆出个反序列化漏洞,原因是因为对序列化后的字符进行过滤,导致用户可控字符溢出,从而控制序列化内容,配合对象注入导致RCE.刚好今天刷CTF题时遇到了一个类似的场景,感觉很有意思,故有本文. 0x01 我打我自己之---序列化问题 关于序列化是什么就不再赘述了,这里主要讲几个跟安全相关的几个点. 看一个简单的序列化 <?php $kk = "123"; $kk_seri = serialize($kk); //s:3:"123…
没有做过LSB隐写加密的题目,在buuoj上面做到了就记录一下,估计后面很长的时间都会在这个平台上面训练自己的MISC和WEB,是很好的平台,把很多比赛的原题和安恒的周赛的复现了. 题目是MISC里面的 前面的zip隐写就不说了,压缩包注释里面的东西可见之后就可以拿到压缩包密码,接着我们获得了一张女神的照片. 看师傅们的博客知道了这里是LSB隐写加密,github上面有LSB解密的脚本. https://github.com/livz/cloacked-pixel 我们下载到本地之后,运行的时候…
记ByteCTF中的Node题 我总觉得字节是跟Node过不去了,初赛和决赛都整了个Node题目,当然PHP.Java都是必不可少的,只是我觉得Node类型的比较少见,所以感觉挺新鲜的. Nothing 决赛的Node题型,题目如下: Can you get flag in a fully enclosed nodejs environment? http://39.106.69.116:30001 http://39.106.34.228:30001 直接访问http://39.106.34.…
0x00 隐写原理 Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像作为载体是因为相比其他图像格式更不容易发现隐藏信息,因为JPEG图像在DCT变换域上进行隐藏比空间域隐藏更难检测,并且鲁棒性更强,同时Blowfish算法有较强的抗统计检测能力. 由于JPEG图像格式使用离散余弦变换(Discrete Cosine Transform,DCT)函数来压缩图像,而这个图像压缩方法的核心是:通过识别每个8×8像素块中相邻像素中的重复像素来减少显示图像所需的位数,并使用近…
Autodesk面试技术题解答 By SmartPtr(http://www.cppblog.com/SmartPtr/)          近一年以来,AUTODESK的面试题在网上是闹的沸沸扬扬,作为一个名企,这是可以理解的,况且其面试题质量也是不错的.抽一些闲暇时间,把网上传的比较多的70道题简单的解答了一遍,不为别的,只为再熟悉一下在大学学过的一些基础知识.希望对大家有用.当然,这只是我的个人解答,有什么不对的或者需要补充的,大家尽管提上来,好的话我加上去的... 1. 在类的普通成员函…
  0x00 前言 今天在实验吧看到一个图片隐写的题目,用了stegslove和winHex分析一通发现并没有什么有效信息.看了评论区大佬的提示说用到了F5隐写工具,所以百度教程用了一下,发现确实解决了问题. 解题链接:http://www.shiyanbar.com/ctf/1938 0x01 F5下载安装 F5隐写全称F5-steganography,在kail系统命令端输入以下代码: git clone https://github.com/matthewgao/F5-steganogra…
利用把Shellcode隐写到图片像素RGB进行免杀上线到CS --by:chenw 0x01 前言 前几天跟一个朋友一起搞一个站的时候,发现那个站点开了很多杀软,使用CS的powershell马无法令其上线.后续在github上找到了一个可以把shellcode隐写到图片的RGB里,然后使其过杀软的检测上线到CS. 今天打算把这个免杀的过程进行一个记录. 0x02 本地环境 靶机:win7 IP:192.168.82.136 攻击机:fsec ip:192.168.82.134 0x03 步骤…
网上写了好多关于xctf MISC新手篇的base64Stego隐写的教程,但大都不太清楚,基本上都是讲了一段隐写原理,直接上代码了.但是代码是这道题的关键,代码讲了如何解码这个隐写的完整流程,这次我以一个python的源码的解释,完美解决这道题. 可能会花费你很长时间,大约一天半天,但是我们要有信心,恒心! base64 隐写原理 + 破解隐写的代码 仔细看!!!!!!! Tr0y's Blog baseStego 存在隐写的编码末尾都存在 = ,一个 = 隐写 2bit 隐写的编码,解码后,…
0x00: 前言 Base64编码的作用: 将一些特殊的字符转换成常见的字符.特殊的字符可能是不可见字符或者是大于ascii码127的,将其变成常见的字符(在base64中为a~z A~Z 0~9 + /). Base64特别适合在某些网络协议下快速传输. 在学习Base64隐写之前,得先熟悉Base64编码与解码的过程. 0x01: Base64的编码过程 Base64编码后的字符为"a~z A~Z 0~9 + /"共计64个,每个需要6个比特位进行存储.原本,ASCII编码字符每个…
0x00 前言 继续对图片隐写技巧的学习,这次是对JPEG文件格式的学习和理解.同PNG文件的格式对比,JPEG文件相对简单,读取其中隐藏payload的方式大同小异,两者区别在于文件格式不同,可供利用的细节存在差异. 本文相关工具: 16进制编辑器:Hex Editor 隐写检测:Stegdetect 下载地址: https://github.com/abeluck/stegdetect 编辑Exit信息:MagicEXIF 下载地址: http://www.magicexif.com/ 分析…
题目链接 很明显的一道完全背包板子题,做法也很简单,就是要注意 这里你可以买比所需多的干草,只要达到数量就行了 状态转移方程:dp[j]=min(dp[j],dp[j-m[i]]+c[i]) 代码如下: #include<cstdio> #include<iostream> #include<cstdlib> #include<iomanip> #include<cmath> #include<cstring> #include<…
https://www.luogu.org/problemnew/show/P3146 一道区间dp的题,以区间长度为阶段; 但由于要处理相邻的问题,就变得有点麻烦; 最开始想了一个我知道有漏洞的方程 ][j]) f[i][j] = max(f[i][k],f[k + ][j]); ); 可能f[i][k] = f[i][j],但他们可合并的并未相邻; 可以这样 #include <bits/stdc++.h> #define read read() #define up(i,l,r) for…
八.图片又隐写 修改后缀名为zip,打开解压出两个文件 解压发现有密码,用WinHex打开发现文件头是zip的,所以出来把后缀名改为zip,再用工具爆破 最后得到解压密码,解压后是一个图片,改后缀名为txt打开,发现flag, 再把括号里的用base64解码得到答案.…
二.隐写2 下载文件后解压,发现是一个png图片,依照老套路查看属性,没有发现 用WinHex打开,在图片文件中,修改图片宽度,将箭头处的A改为F,保存后打开图片 发现flag(对于png的文件格式详情请看http://www.cnblogs.com/Yuuki-/p/7868858.html)…