010editor分析——宽高 文件头尾
文件属性中的详细信息——备注
file 查看文件类型
ls -a 查看所有文件
多文件时 对比CRC值
uuid格式
UUID的标准格式 ,包含 32个十六进制数,以连字号分为 5段,形式为 8-4-4-4-12的32个字符。
UUID格式如下图所示。

Stegsolve
RGB 0通道 lsb低位
python lsb.py extract -i "加密文件名" -o flag.txt -p 密码
查找可打印的字符串
zsteg xxx.png
zsteg xxx.png -a
例:

发现在 b1,g,lsb,yx 这块区域,有个ZIP压缩包,我们要将它从图片里面提取出来
zsteg depthpng.png -E b1,g,lsb,yx > dapthpng.zip
binwalk -e
foremost -T
# 使用方法
stegdetect.exe -tjopi -s 10.0 图片名
stegbreak.exe -r rules.ini -f password.txt 图片名
#password.txt 为密码本
查看图片中嵌入的文件信息:
steghide info 文件名
加密:
steghide embed -cf 文件名 -ef 隐藏文件名 -p 密码
解密:
steghide extract -sf 文件名 -p 密码
stegseek --crack 爆破文件名 字典名
java Extract 图片的绝对路径/xxxx.jpg -p 密码
outguess -k "密码" -r flag.jpg out.txt
查看图片属性
exiftool 文件名
linux上的identify命令主要用于获取一个或多个图像文件的格式和特性
identify misc.gif > message.txt
stegy misc.webp -p
(需要密码)
identify -format "%s %T \n" misc.gif
SNOW.EXE -C 文件名 -p 密码
vim中的swp即swap文件,在编辑文件时产生,它是隐藏文件。这个文件是一个临时交换文件,用来备份缓冲区中的内容。
如果原文件名是data.txt,那么swp文件名就是.data.txt.swp
如果文件正常退出,则此文件自动删除
以下两种情况不会删除.swp文件:
简单来说,.swp文件是Linux里面vim(Linux内置的文本编辑器,相当于Win的TXT文本编辑器)的一个缓存文件,防止你编辑文件的时候出现突发情况导致数据丢失的情况,通过这个.swp文件,可以恢复原来编辑时候的数据

ls -al

cd ~/Downloads/depthpng //切换到文件解压的目录,根据你的情况自行修改
vim -r .flag.txt.swp

发现报错了,不慌,看一下报了什么错
因为在恢复.swp文件的时候,会恢复在它记录的目录(即 /home/chang/Downloads/Misc/),但我们虚拟机里面没有这个目录,所以它会显示“无法打开并写入文件”,所以创建这个路径再恢复即可
/home:如果建立一个用户,用户名是"zg666",那么在/home目录下就有一个对应的/home/zg666路径,用来存放用户的主目录
所以,按照报错信息中的路径,我们要创建一个名为“chang”的用户,才能生成 /home/chang
sudo useradd -m chang
然后读取 /etc/passwd 看看有没有创建成功
cat /etc/passwd | grep "chang"

这时候,/home/chang 就生成了,但我们还需要建两个子目录:/Downloads/Misc/
cd /home/chang
sudo mkdir Downloads
cd /home/chang/Downloads
sudo mkdir Misc

然后再去恢复一下上面的.swp文件
cd ~/Downloads/depthpng //切换到文件解压的目录,根据你的情况自行修改
sudo vim -r .flag.txt.swp

按回车进入下一步,输入 :wq(保存编辑操作退出),再回车
回到 /home/chang/Downloads/Misc/ 目录下面,发现恢复成功了

打开文件搜索16进制504B0102,可以看到每个加密文件的文件头字段
从504B0102开始计算,第九第十个字符为加密字段,将其设置为0000即可变成无加密状态
例:
承接上文,发现该题需要明文爆破,使用bkcrack
bkcrack.exe -C dapthpng.zip -c flag.txt -p swp.txt

bkcrack 常用参数:
-c 提取的密文部分 加密的文件名
-p 提取的明文部分 明文文件名
-C 加密压缩包

显示攻击成功,拿到相关keys
这时候,就可以通过“ZipCrypto”压缩方式的漏洞修改压缩包的密码了,这里我把它修改为“easy”
bkcrack.exe -C dapthpng.zip -k 6c30e526 874fd386 341fe8cb -U out.zip easy

打开目录,可以看到生成了一个“out.zip”,解压密码为easy
解开压缩包得到flag
找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可解开伪加密。

路径:MP3Stego_1_1_19\MP3Stego下使用
decode -X -P pass simple.mp3
不然有可能会出现如下报错信息
[Frame 0]OpenTable: could not find tables/huffdec
Check local directory './tables/'
Please check huffman table 'huffdec'
010中明显看到20 09 0D特征,你往下面滑动的话,还能看见这种特征,这就是wbStego4隐写
pdfcrack -w 字典名 -f 文件名
改成zip,着重检查document.xml
在(kali㉿kali)-[~/hashcat-word/john-1.9.0-jumbo-1/run]目录下提取hash值
提取hash值:python3 office2john.py 1.docx > hash.txt
hashcat破解:hashcat -m 9400 --username hash.txt -a 3 ?d?d?d?d?d?d?d?d -o cracked_pass.txt
montage *.png -tile 8x6 -geometry +0+0 flag.png
"-geometry +0+0"的用处是让图片之间没有间隙
“-tile 8X6” 的作用是让原始图片按12*4的排列方式排列(也就是8行6列)
从图像创建拼图
create_puzzle images/pillars.jpg --size=48 --destination=puzzle.jpg
[SUCCESS] Puzzle created with 420 pieces
将图片拆成420个色块
原图

拆分

自动复原
gaps --image=puzzle.jpg --generations=20 --population=600

这将启动初始种群为 600 和 20 代的遗传算法
提供以下选项:
| 选项 | 描述 |
|---|---|
--image |
拼图路径(最好在当前目录下,不然容易报错) |
--size |
拼图大小(以像素为单位)[最好与图块数相等] |
--generations |
遗传算法的世代数 |
--population |
个体数量 |
--verbose |
在每一代之后显示最佳解决方案 |
--save |
将拼图解决方案另存为图片 |
bftools.exe decode braincopter 要解密的图片名称 –output 输出文件名
bftools.exe run 上一步输出的文件
例题:
bftools.exe decode braincopter flag.png > 1.txt
bftools.exe run 1.txt > 2.png
bftools.exe decode brainloller 2.png > 3.txt
bftools.exe run 3.txt
iconv -f + 编码类型 + 文件名
例:iconv -f koi-7 1.txt
plot "out.txt"
攻防世界Misc入门题之坚持60s继续开启全栈梦想之逆向之旅~这题是攻防世界Misc入门题之坚持60s下载附件,一开始我默认用压缩包对jar文件,搞到一解压出来还以为是某个游戏存档,后来才发现是.jar文件。运行.jar程序命令:java-jar文件名这种没用户输入的程序,flag通常要不是完整存在的字符串要不是根据时间推算出来的公式字符串。所以查看源码,用jd-gui打开或直接拉到AndroidKiller中:猜测是完整存在的字符串,如果不是再继续想:搜索flag,打开对应类:有完整的flag,因为题目说坚持60S,所以这里也是在case6处,逻辑上符合。直接提交,直接报错,人傻了,看了wp
更新日期:2022年12月6日青少年CTF训练平台MIsc—Easy部分的WP有错误请在评论区指出,万分感谢!!!个人博客:https://www.st1ck4r.top/(~ ̄▽ ̄)~0x01bear考点:与熊论道解密在线解密:http://hi.pcmoe.net/0x02百家姓考点:百家姓编码,16进制转文本使用百家姓在线解码解出来一段16进制文本使用在线16进制转文本进行转换获得flag。0x03上号考点:流量包分析,图片隐写解压附件后得到一个流量包,打开并导出shanghao.zip解压shanghao.zip,得到一张图片使用010editor打开图片,翻到最下面发现字符串,猜测为
我正在尝试从此处执行ANTLRv4示例http://www.antlr.org/wiki/display/ANTLR4/Getting+Started+with+ANTLR+v4.我已经下载了antlr-4.0-complete.jar并将其放入某个目录。我已经创建了bat文件来运行org.antlr.v4.Tool(antlr.bat)和org.antlr.v4.runtime.misc。TestRig(run.bat).工具在没有参数的情况下运行并输出一些东西,所以路径没问题。我创建了包含以下内容的Hello.g4://DefineagrammarcalledHellogramma
文章目录1、爆破(暴力,字典,掩码)2、明文攻击3、伪加密4、CRC32碰撞zip压缩包开头为504B0304,即常说的PK头。zip文件由三部分组成:压缩的文件内容源数据、压缩的目录元数据、目录结束标识结构1、爆破(暴力,字典,掩码)爆破:逐个尝试选定集合中的可以组成的所有密码,直到遇到正确的密码。分为暴力破解、掩码破解、字典破解这几种1、暴力破解:选择密码范围,长度等,由软件组合生成密码进行破解2、掩码破解:知道密码中的一部分,只需要按照规则构造其余部分进行破解3、字典破解:通常是多数用户常用的一些密码集合,导入字典文件用字典中的密码进行破解(取决你的字典)这里主要介绍两款爆破使用的工具W
Word中的隐写1.1利用Word文本功能进行隐藏1.1.1文字效果-隐藏选中Word中想要隐藏的文字,依次点击“鼠标右键=>文字”,在文字效果一栏中选中隐藏,那么选中的文字就被隐藏了,而在默认情况下被隐藏的内容是会被显示的。如果想要查看被隐藏的内容,则需要依次点击“文件=>选项=>显示”,选中隐藏文字,这样就可以查看被隐藏的文字了1.1.2图片隐藏在Word中,图片具有嵌入和非嵌入两种格式,通过一定的设置便可以让图片消失嵌入型依次点击“文件=>选项=>高级”,在显示文档内容板块找到“显示图片框”,选定,确定后图片内容就不见了,就只剩下一个图片框了如果先要查看图片内容,只要在取消“显示图片”就
我正在使用jdk-10.0.2和gradle4.7,在构建我的项目时出现此错误。Unabletofindmethod'sun.misc.Unsafe.defineClass(Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;'.Possiblecausesforthisunexpectederrorinclude:Gradle'sdependencycachemaybecorrupt(thissometimesoccursafteranetwork
我刚刚尝试了JDK9并发现sun.misc.Unsafe现在不包含本地方法,而是将它们委托(delegate)给一些jdk.internal。misc.Unsafe,例如:@ForceInlinepublicintgetInt(Objecto,longoffset){returntheInternalUnsafe.getInt(o,offset);}反过来,最新的看起来实际上像旧的sun.misc.Unsafe,但现在这些方法用一些注释进行了注释:@HotSpotIntrinsicCandidatepublicnativevoidputObject(Objecto,longoffset
在OpenJDK8中,可以访问sun.misc.VM并调用isDirectMemoryPageAligned和maxDirectMemory。isDirectMemoryPageAligned用于正确调整要分配的直接内存的大小,如DirectByteBuffer所做的那样.maxDirectMemory用于报告内存统计信息以及访问为-XX:MaxDirectMemorySize配置的值。在内部,它将对允许的直接内存消耗设置一个限制。自OpenJDK9起,类VM已移至jdk.internal.misc且不可用,除非--add-exportjava.base/jdk.internal.mi
我想用java代码连接一些域。我可以按如下方式在浏览器中连接域:http://username:password@domain.com我尝试了以下方法:Stringenc="username"+":"+"password";Stringencoded=newsun.misc.BASE64Encoder().encode(loginPassword.getBytes());URLurl=newURL("domain.com");URLConnectionconn=url.openConnection();conn.setRequestProperty("Authorization","B
我正在开发一个类似于sun.misc.Unsafe但具有扩展内存管理的JNI实现。为什么来自sun.misc.Unsafe和我开发的库的本地方法的调用时间截然不同?一些数字:sun.misc.Unsafe.getInt(address)需要~1ns当我的类似方法需要~10ns两种实现方式大体相同,都沿用了OpenJDK的源码,只是通过指针返回变量。两者的注册方式相同。如何加速JNI调用?是什么让不安全性能如此特别?谢谢,尤里/ 最佳答案 如果您在Unsafe类中寻找native方法的来源,您会发现它不使用JNI实现。相反,不安全的方