CTF-WEB(MISC)
安全攻防知识——CTF之MISC - 知乎
CTF之MISC杂项从入门到放弃_ctf杂项 你的名字-CSDN博客
CTF MICS笔记总结_archpr 掩码攻击-CSDN博客
一、图片隐写
CTF杂项---文件类型识别、分离、合并、隐写_ctf图片分离-CSDN博客
EXIF(Exchangeable Image File)是“可交换图像文件”的缩写,当中包含了专门为数码相机的照片而定制的元数据,可以记录数码照片的拍摄参数、缩略图及其他属性信息
简单来说,Exif信息是镶嵌在 JPEG/TIFF 图像文件格式内的一组拍摄参数,需要注意的是EXIF信息是不支持png,webp等图片格式的(建议自己试的时候,现拍一张,把地理位置信息开启,这样得到的是完整的EXIF信息)
一般来说,修改的都是高度,修改宽度的话,图片会损坏
exif查看器是一种能够读取照片exif信息并展示详细数据的工具。而其中最引人注目的功能之一是地理位置的查看——随着手机拍照功能的发展,照片中含有的exif信息也越来越多。其中包括拍摄时间、焦距、曝光时间等详细参数,还有一项非常有趣的数据是地理位置
一般在网页EXIF查看器查看之后,会有一个主题:XMP-x 的选项,将 hex 编码解码就会获得一定的敏感信息,在mac里面右键显示简介也会有一定的exif信息,但windows系统相对来说比较准确,windows里面点击属性,查看详细信息,一般在标记里面会有exif的信息,hex解码即可,另外后面还会有很多的图片的属性信息

图片的EXIF信息查看器
alpla版本EXIF信息查看器
文件头格式
常见文件的格式包括文件头、文件体和文件尾
- 文件头包括产生或编辑文件的软件信息以及文件本身的参数,文件头格式错误会导致文件不可用
- 文件体是文件的主体部分,包含了文件的具体数据,对文件的容量起决定性的作用
- 文件尾是可选项,可以包含一些用户信息
| 文件类型 | 文件头格式 | 文件尾格式 |
|---|---|---|
| JPEG | FF D8 FF | FF D9 |
| PNG | 89 50 4E 47 0D 0A 1A 0A | 49 45 4E 44 AE 42 60 82 |
| GIF | 47 49 46 38 39 61 | 00 3B |
| BMP | 42 4D | 00 00 00 00 |
| MP3 | 49 44 33 | FF FB |
| WAV | 52 49 46 46 | 3E 00 00 00 |
| AVI | 52 49 46 46 | 00 00 00 00 |
| MP4 | 00 00 00 20 66 74 79 70 69 73 6F 6D | 00 00 00 |
| ZIP | 50 4B 03 04 | 50 4B 05 06 |
| RAR | 52 61 72 21 1A 07 00 | 00 00 00 |
| 25 50 44 46 | 0A 25 25 45 4F 46 | |
| DOCX | 50 4B 03 04 | 50 4B 05 06 |
| EXE | 4D 5A | - |
| ELF | 7F 45 4C 46 | - |
文件格式检测方法
- 查看扩展名(不准确)
- 使用16进制的文本工具查看文件头(windows:winhex、010editor;linux:Hexsditor、Hexdump命令)
- 使用文件识别工具(linux:file命令)
WinHex的使用指南(图文详细版)-CSDN博客
(使用时注意光标要放在hex码的最前面,否则可能会找不到)
【文件头手工查看】
在winhex中,查找图片里面有没有隐藏别的文件,可以在search里面的find hex values里面输入目标文件格式的文件头查找,找到了说明图片隐藏了其他的文件,否则就是没有,一般找到另一种文件头的话,后续在遇到另外的文件头之前的部分应该都是该文件的所有内容
【binwalk工具】
binwalk在Windows10和kali_Linux下的安装及使用教程
CTF-杂项_binwalk和foremost区别-CSDN博客
【strings命令】
查看当前文件里面的可查找的字符串,或者将可打印的字符串直接重定向到文件里面然后人工查看
linux中的strings命令_linux strings-CSDN博客
图片结构
png-8格式的组成:
- png文件标志,固定64字节:0x89504e47 0x0d0a1a0a
- 文件头数据块IHDR
- 调色板数据块PLTE
- sBIT,tRNS块
- 图像数据块IDAT
- 图像结束数据IEND,固定96字节:0x00000000 0x49454e44 0xae426082
png图片结构_png文件sbit-CSDN博客
图片结构 ( 图片文件二进制分析 | PNG文件结构 | 数据块结构 | IHDR 数据块详解 )-腾讯云开发者社区
如果一个图片在linux系统打不开,但是在windows系统下可以打开,可能图片的高度有问题——一般来说图片的宽度不能随便改,但是高度可以随便改
winhex工具修改宽高 (限制权限)在winhex里面第二列第一段的8组数字的前四组代表宽,后四组代表高(如下所示:绿色标记的为高)
CTF-MISC图片求正确宽高破解和修改总结_misc 修改图片宽高-CSDN博客

【base64转图片】
在线base64编码|图片转base64|base64转图片|91tool
BugKu CTF(杂项篇MISC)—多种方法解决_图片转base64 ctf比赛-CSDN博客
CTF天天练:杂项之“多种方法解决” - 腾讯云开发者社区-腾讯云
【StegSolve】
CTF-StegSolve使用介绍
【PsQREdit:二维码查看】
PsQREdit可以制作二维码、直接识别二维码(图片文件),利用它,可以把网址、文字、名片、通讯录等内容转换为二维码图片
gnuplot画图
将图片使用notepad++打开,得到一段文本,然后在notepad++点击上边工具栏的插件,Converter里面的hex -> Ascii,然后得到一堆坐标
使用kali的gnuplot(交互式的画图工具)kali下的gnuplot使用_在kali里面用坐标值画图-CSDN博客

二维码处理
二维码扫描必须要有三个方形的标志点,中间的图案一般是随机的,只要有一般都能扫出来
#CTF———杂项(撕毁的二维码) - 爱码网
bugkuCTF—杂项—简单的二维码_ctf二维码-CSDN博客
如何做CTF的二维码处理,CTF二维码解题_ctf扫描二维码脚本-CSDN博客
CTF以题代学----2020unctf misc题目思考_ctf-misc-二维码(二)撕破的二维码-CSDN博客
BUUCTF二维码
BUUCTF在线评测
BUUCTF 二维码 1_buuctf 二维码1-CSDN博客
先使用010-editor工具查看可直接获得flag的前部分和中间部分:
Base64解码得到flag{051d51cc-2528
再向上翻阅得到-4c65-bf88-
zip缺少头部504B,添加解压即可得到完整的docx文件,在doc文档全选改为例如红色可发现隐藏的后半部flag字样,拼凑可得完整的flag。
flag{051d51cc-2528-4c65-bf88-a7165973149c}
二、文件隐写
CTF之misc杂项解题技巧总结——隐写术-CSDN博客
如何做CTF中MISC的图片隐写,CTF图片隐写入门 - 知乎 (zhihu.com)
stegsolve图片隐写查看器
下载地址:http://www.caesum.com/handbook/Stegsolve.jar
安装教程——Stegsolve_stegsolve安装教程-CSDN博客
配置好环境之后直接打开就可以使用
stegsolve功能简介:

上面是软件打开的界面,界面简单。主要供能为analyse,下面对Analyse下面几个功能键作简单介绍:
File Format: 文件格式,这个主要是查看图片的具体信息
Data Extract: 数据抽取,图片中隐藏数据的抽取
Frame Browser: 帧浏览器,主要是对GIF之类的动图进行分解,动图变成一张张图片,便于查看
Image Combiner: 拼图,图片拼接
CTF-StegSolve使用介绍
LSB隐写
LSB(leastsignificant bit):最低有效位
PNG文件中的图像像数一般是由RGB三原色(红绿蓝)组成,每一种颜色占用8位,取值范围为0x00~0xFF,即有256种颜色,一共包含了256的3次方的颜色,即16777216种颜色
人类的眼睛可以区分约1000万种不同的颜色,这意味着人类的眼睛无法区分余下的颜色大约有6777216种
LSB隐写就是修改RGB颜色分量的最低二进制位(LSB),而人类的眼睛不会注意到这前后的变化每个像数可以携带3比特的信息
LSB隐写原理是修改了照片中的像素的最低位,把一些信息隐藏起来,在无压缩图片bmp或者无损压缩图片png上才能进行LSB隐写,如果是jpg图片则无法进行隐写
基于LSB实现文本、图片、压缩包的隐藏_lsb隐藏算法可以将图片信息隐藏吗-CSDN博客
CTF-图片隐写_ctf图片隐藏flag密码-CSDN博客
2018网鼎杯misc
【2018年 网鼎杯CTF 第一场】China H.L.B “网鼎杯” 部分WriteUp - 先知社区
PNG隐写 i春秋网鼎杯网络安全大赛minified题目writeup_png隐写 123456qwer-CSDN博客
CTF-MISC(隐写篇) - FreeBuf网络安全行业门户
F5隐写
【隐写术】F5隐写-CSDN博客
工具地址:https://github.com/matthewgao/F5-steganography
outguess隐写
【BUUCTF-MISC】outguess_buuctf outguess-CSDN博客
( 新版kali可能未配套,需要下载一下)
CRC爆破
import struct
import binasciicrcbp = open("图片名", "rb").read()
for i in range(2000): for j in range(2000):data = crcbp[12:16] + struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]crc32 = binascii.crc32(data) & 0xffffffffif(crc32 == 0x91918666): print(i, j)print('hex:', hex(i), hex(j))
脚本跑出来图片的高和宽之后,修改原图片的高和宽:可以使用winhex打开之后,修改第二行,但是winhex属于小端存储(需要从右往左读取它真正的值),然后根据脚本结果修改即可
三、流量分析
CTF——流量分析题型整理总结_ctf流量分析-CSDN博客
嗅探工具 --- wireshark、tcpdump、dsniff、ettercap、bettercap、netsniff-ng、cain-CSDN博客
使用Wireshark进行网络流量分析_wireshark流量分析-CSDN博客
流量分析-Wireshark -操作手册(不能说最全,只能说更全)_wireshark寻找扫描器-CSDN博客
和bp只能抓取http、https协议的应用层协议的数据包不一样,Wireshark能监听全局的流量
- 实时监控网络流量:通过监控网络流量,可以及时发现网络异常流量,如DDoS攻击、僵尸网络、内网攻击等。通过分析异常流量的特征和规律,蓝队可以快速发现攻击源和攻击目标
- 识别和过滤恶意流量:通过对网络通信流量的深度分析,可以识别和过滤出恶意流量,如恶意软件、病毒、木马等,有效保护系统安全
- 分析攻击行为:通过分析攻击流量的特征和行为,可以了解攻击者的攻击手法和战术,为进一步应对攻击提供参考
- 收集并分析日志:通过收集和分析网络通信日志,可以发现潜在的安全漏洞和安全风险,并及时采取措施修补漏洞,提高系统安全性
(用在应急响应和CTF里面较多)
1、wireshark过滤器表达式
协议过滤
TCP:只显示TCP协议的数据流
HTTP:只显示HTTP协议的数据流
ICMP:只显示ICMP协议的数据流
ARP:只显示ARP协议的数据流
DNS:显示DNS协议的数据流
IP过滤ip.addr = 192.168.116.138,只显示ip为192.168.116.138有关的数据流
ip.src = 192.168.116.138,只显示源IP地址为192.168.116.138的数据流
ip.dst = 192.168.116.138,只显示目标IP地址为192.168.116.138的数据流
端口过滤tcp.port == 80,只显示80端口TCP数据流
udp.prot == 67,只显示67端口UDP数据流
tcp.srcport == 80, 只显示源地址的80端口数据流
tcp.dstport == 80,只显示目的地址80端口数据流
过滤HTTP协议http.request.method==“GET”,显示get请求
http.request.method==“POST” ,显示POST请求
http.request.url contains admin ,显示url中包含admin的请求
http.request.code==404,显示状态码为404
http contains “FLAG”,请求或相应中包含特定内容
连接符
and,or
如:tcp.port == 80 and ip.addr = 192.168.116.138过滤包长度
udp.length20,整个UDP数据包
tcp.len>=20,TCP数据包中的IP数据包
ip.len20,整个IP数据包
frame.len==20,整个数据包
wireshark着色规则
点开左上角视图中的着色规则就能看到2、数据流的追踪
我们的一个完整的数据流一般都是由很多个包组成的;
所以当我们想查看某条数据包对于的数据流的话。可以选中数据,右键选择追踪流;
里面就会有tcp流、udp流、ssl流、http流。数据包属于哪种流就选择对应的流;
当我们选择了追踪流时,会弹出该流的完整的数据流还有这个数据流中包含的数据包,对话框下面可以选择数据流方向,顶部的过滤器就是该流的过滤规则3、数据包的统计分析
统计中的协议分级功能可以查看所选包协议的分布情况,帮助识别可疑协议,和不正常的网络应用程序
在Endpoints窗口中,可以通过排序Bytes和Tx Bytes来判断占用带宽最大的主机
Conversions窗口可以看到两个主机之间发送/接收数据包的数量、字节大小以及数据的流向情况,也可以通过排序来判断占用最大带宽的主机;
在Conversions窗口中只能看到会话的统计情况,无法看到包的具体内容;
这时可以使用快速过滤会话功能,过滤出想要查看的内容;
快速过滤会话的功能在Conversions窗口中进行操作,可以对选中的会话或者非选中的会话选择数据流向进行过滤4、数据包的大致结构
第一行:数据包整体概述
第二行:链路层详细信息,主要的是双方的mac地址
第三行:网络层详细信息,主要的是双方的IP地址
第四行:传输层的详细信息,主要的是双方的端口号
第五行:TCP或UDP是传输的DATA,DNS这是域名的相关信息5、网络分析
只抓包头
在进行网络分析时往往只需要知道两个节点是不是能够联通,具体的传输信息并不重要,所以抓包的时候可以设置只抓包头,这样就大大减少了数据包的大小,有利于数据分析;
设置方法:Capture(捕获)–>Options(选项)–>Snaplen(Snap长度);
将这个值设置200以下就可以抓到所有网络层次的头信息了
另外也可以直接点击任务栏里的快捷键,快速设置只抓必要的包
我们可以设置抓包的filter,只抓一些感兴趣的包;
设置方法:Capture(捕获)–>Options(选项)–>Capture Filter(捕获过滤器)在输入框里输入规则,然后点击开始即可,比如输入
dst host 220.181.38.148(捕获目标主机为220.181.38.148的数据包)
220.181.38.148是ping www.baidu.com的ip地址,不同地理位置ping的ip可能不一样,然后浏览器访问百度就可以看到我们想要的捕获结果6、自动分析
Wireshark有强大的统计分析功能,可以帮助分析人员快速统计出一些基本信息。比如点击Analyze(分析)–>Expert InfoComposite(专家信息),就可以看到数据包的中的一些不同级别的信息统计,包含重传次数、链接建立次数、网络错误等,在分析网络性能时这个功能很有作用
单击Statistics(统计)–>TCPStream Graph(TCP流图形),可以生成一些统计图表
此外还可以统计分层信息、网络会话列表、网络端点列表、ip地址统计列表、应用层数据包信息等
题目举例:被嗅探的流量
【嗅探】
网络嗅探是指利用计算机的网络接口截获其它计算机的数据报文的一种手段,网络嗅探的基础是数据捕获,网络嗅探系统是并接在网络中来实现对于数据的捕获的,这种方式和入侵检测系统相同
嗅探的大部分场景在内网,内网使用ARP协议将IP地址转化为MAC地址,RARP协议将MAC地址转化为IP地址,内网通信时,可以嗅探内网网卡:充当通信中间人,做信息转发或者单纯嗅探,外网一般不能实现
BUUCTF在线评测
buuctf—被嗅探的流量_buuctf被嗅探的流量-CSDN博客
【pcapng文件】
网络数据包捕获文件格式
PCAPNG是PCAP Next Generation Dump File Format的缩写,意为PCAP下一代文件格式,后缀名为.pcapng
PCAPNG是一种网络数据包捕获文件格式,旨在克服现有PCAP格式的限制,PCAPNG格式在结构上由多个数据块组成,每个块都包含特定的格式类型、长度和内容
支持者CloudShark和Wireshark等工具解析
盲注流量分析
【CTF-misc】流量分析_盲注流量分析如何获取ctf-CSDN博客
使用Wireshark进行网络流量分析_wireshark流量分析-CSDN博客
在wireshark数据包里面保存所有的流量,然后保存为txt文件,在notepad++v8.1.9里面打开(其余版本功能可能不合适),然后点击探索,查找,正则匹配查找目标(一般就是flag、ctf、盲注里面会有id=*之类的),然后全部标记,复制标记文本,然后新建或者直接覆盖源文件
1、手工找:找到每个起始盲注的ASCII码对应数字,然后记录结尾的ASCII码对应的数字,最后转化为字符即可
list=[102,108,97,103,123,xxx,……]
for i in list:print(char(i),end='')
python流量分析
2、使用脚本分析:主要针对的是盲注语句,把所有的有变化的截取出来,先遍历每一行,截取出来最后的from部分的第几位数据和后面的ASCII码,然后使用finall匹配,到位数变化的时候,
import res = r"from%20t\),([0-9]*),1\)\)=([0-9]*)"
pat = re.compile(s)
f = open("/Users/Nosery/Desktop/1.pcapng","rb")
st = f.read().decode("utf-8","ignore") //不解析的忽略lis = pat.findall(st)
print(lis)
flag = ['' for i in range(1000)] //给flag给出一个限制范围
print(flag)for t in lis:flag[int(t[0])] = chr(int(t[1])) //将每一位截出来的元组不停转换覆盖为字符串for i in flag:print(i,end="")
SqlMap流量分析
SqlMap分析使用二分法
流量分析的时候,先进行URL解码:notepad++全选,解码即可,然后审计找到目标语句:点击搜索,正则匹配(SqlMap的流量较为复杂,正则匹配的时候要精细一点),然后标记复制,
入侵检测之sqlmap恶意流量分析-腾讯云
Sqlmap流量分析(osshell)、UA头隐藏 - LinkPoc - 博客园
【分析举例】
绿色框中的数字代表是测试第几个字符红色框中的数字代表与当前测试的字符的ascii值相比较的值
粉色框中数字代表返回的数据的长度(要依据这个来判断上面的语句是否正确)
二分法取第一位:
- asci有 128个所以从 64 开始判断、然后是96(64和128的中间值),说明>64是正确的,才会取96
- 80、80小于96,说明>96是错误的,所以才会取 64和96 的中间值 80
- 72,说明>80是错误的,取80和64之间的中间值72
- 76,说明>72是正确的,才会取 72 和80之间的中间值76
- 74,说明>76是错误的,才会取 72 和76的中间值 74,然后是73,说明>74是错误的,才会取72和 74的中间值 73至于>73 语句是否正确,关系到我们最后的取值
第一个字符 的asci值 的范围为 72<x<= 74,至于是 73 还是 74,需另做判断:若>73正确,则x=74 第一个字符 的ascii值为 74 就是 J,若 >73 错误,则 x= 73 就是 I
由于我们上面已经知道了 >64 是正确的返回包的数据长度是 467
- >96 是错误的返回包的数据长度是 430
- >80 是错误的返回包的数据长度是 430
- >72 是正确的返回包的数据长度是 467
- >76 是错误的返回包的数据长度是 430
- >74 是错误的返回包的数据长度是 430
可以看到当判断语句正确时 ,返包的数据长度是大于 430 的 ,错误时是小于等于 430 然后看到 最后一条语句 >73 的返回值为 430,第一个字符的ascii 为 73
USB流量分析
USB(键盘)流量分析_usb流量分析-CSDN博客
buuctf [第九章][9.4.1 鼠标流量分析]鼠标流量分析writeup_buuctf鼠标流量分析-CSDN博客
mappings = { 0x04:"A", 0x05:"B", 0x06:"C", 0x07:"D", 0x08:"E", 0x09:"F", 0x0A:"G", 0x0B:"H", 0x0C:"I", 0x0D:"J", 0x0E:"K", 0x0F:"L", 0x10:"M", 0x11:"N",0x12:"O", 0x13:"P", 0x14:"Q", 0x15:"R", 0x16:"S", 0x17:"T", 0x18:"U",0x19:"V", 0x1A:"W", 0x1B:"X", 0x1C:"Y", 0x1D:"Z", 0x1E:"1", 0x1F:"2", 0x20:"3", 0x21:"4", 0x22:"5", 0x23:"6", 0x24:"7", 0x25:"8", 0x26:"9", 0x27:"0", 0x28:"\n", 0x2a:"[DEL]", 0X2B:" ", 0x2C:" ", 0x2D:"-", 0x2E:"=", 0x2F:"[", 0x30:"]", 0x31:"\\", 0x32:"~", 0x33:";", 0x34:"'", 0x36:",", 0x37:"." }nums = []
keys = open('out.txt')
for line in keys:if line[0]!='0' or line[1]!='0' or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0':continuenums.append(int(line[6:8],16))keys.close()output = ""
for n in nums:if n == 0 :continueif n in mappings:output += mappings[n]else:output += '[unknown]'print 'output :\n' + output
使用 open 函数以默认模式(文本模式)打开 out.txt 文件,并将其赋值给 keys。然后,代码遍历文件的每一行(for line in keys:)
对于每一行,代码检查该行的特定位置(索引0, 1, 3, 4, 9, 10, 12, 13, 15, 16, 18, 19, 21, 22)的字符是否不等于 '0'。如果任何一个位置不满足这个条件,代码将跳过当前行(使用 continue)
如果当前行通过了上述检查,代码将提取索引6到7的字符(即两个十六进制数字),使用 int(line[6:8], 16) 将其转换为整数,并添加到 nums 列表中
f=open('usbdata.txt','r')
fi=open('out.txt','w')
while 1:a=f.readline().strip()if a:if len(a)==16: # 鼠标流量的话len改为8out=''for i in range(0,len(a),2):if i+2 != len(a):out+=a[i]+a[i+1]+":"else:out+=a[i]+a[i+1]fi.write(out)fi.write('\n')else:breakfi.close()
使用一个无限循环 while 1: 来持续读取文件中的数据
a = f.readline().strip():读取文件的一行内容,并使用 strip() 方法移除每行首尾的空白字符(如空格、制表符、换行符等)
检查读取到的行 a 是否为空(即是否已到达文件末尾)
如果 a 不为空且长度为16(或者如果它是鼠标流量,则长度为8,但在这段代码中只考虑了长度为16的情况),则执行以下操作:
- 初始化一个空字符串
out用于存储处理后的数据 - 使用一个
for循环遍历a中的字符,每次迭代处理两个字符(通过range(0, len(a), 2)实现) - 在循环内部,检查当前迭代是否不是每行的最后一个组(通过
if i+2 != len(a):判断)。如果不是最后一个组,则在两个字符后添加一个冒号(:) - 如果是最后一个组,则只将两个字符添加到
out中,不添加冒号 - 将处理后的字符串
out写入到out.txt文件中,并在其后添加一个换行符\n
如果 a 为空(即已到达文件末尾),则使用 break 语句退出循环
题目:BUUCTF USB
BUUCTF在线评测
BUUCTF:USB解题思路
《CTF特训营》——古典密码学_云影密码解密工具-CSDN博客
【云影密码(01248码)】
这种加密方式仅使用01248这5种数字来进行,其中0用来唯一表示间隔,其他数字用加法和表示替换密文。再使用数字1~26表示字母A~Z。
如:18 = 1+8 = 9 = I,1248 = 1+2+4+8 = 15 = O特点:密文中仅存在01248,加密对象仅有字母
例:CRYPTO001
88421 0122 048 02244 04 0142242 0248 0122
23 5 12 12 4 15 14 5
W E L L D O N E
可知flag为WELLDONE
binwalk提取流量
Binwalk工具的详细使用说明_binwalk使用教程-CSDN博客
四、压缩包文件
RAR基础爆破
基础破解:给你一个压缩包,你并不能获得什么,因为他是四位数字加密的哈哈哈哈。。。CSDN
john解决压缩包爆破
压缩包模块(密码爆破)_kali john原理-CSDN博客
zip压缩包爆破
Ziperello安装及使用
zip伪加密
【zip伪加密】
1、zip组成
一个zip文件由这样三个部分组成_zip 文件结构_一只独孤的程序猿的博客-CSDN博客
2、实例
压缩源文件数据区:
- 50 4B 03 04:这是头文件标记(0x04034b50)
- 14 00:解压文件所需 pkware 版本
- 00 00:全局方式位标记(有无加密) 头文件标记后2bytes
压缩源文件目录区:
- 50 4B 01 02:目录中文件文件头标记(0x02014b50)
- 3F 00:压缩使用的 pkware 版本
- 14 00:解压文件所需 pkware 版本
- 00 00:全局方式位标记(有无加密,伪加密的关键) 目录文件标记后4bytes
压缩源文件目录结束标志:
- 50 4B 05 06:目录结束标记
3、全局方式位标记
全局方式位标记的四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性
- 第二个数字为奇数时 –>加密
- 第二个数字为偶数时 –>未加密
4、辨别zip是真加密还是伪加密
1)无加密
压缩源文件数据区的全局加密应当为
00 00(50 4B 03 04两个bytes之后)
且压缩源文件目录区的全局方式位标记应当为00 00(50 4B 03 04四个bytes之后)
2)伪加密
压缩源文件数据区的全局加密应当为
00 00
且压缩源文件目录区的全局方式位标记应当为09 00
3)真加密
压缩源文件数据区的全局加密应当为
09 00
且压缩源文件目录区的全局方式位标记应当为09 00
【CTF】ZIP 伪加密-CSDN博客
【CaptfEncoder】
一款可扩展跨平台网络安全工具套件CaptfEncoder-CSDN博客
buuctf-MISC篇做题笔记_buuctf小明的保险箱-CSDN博客
压缩包CRC明文攻击
zip明文攻击:在压缩过程中不会对文件进行更改,但会进行摘要处理,要求一个单独的文件已知且进行压缩之后的CRC值与某个包含此文件的压缩包的CRC值相等
zip压缩文件明文攻击以及相关问题_在选定的档案中没有匹配的文件-CSDN博客
已知文件:

未知密钥压缩包:

只要两者CRC值相等,那么就可以进行明文攻击
明文破解(千万不要让选手看到)-腾讯云开发者社区-腾讯云
【ARCHPR】
ARCHPR怎么使用?ARCHPR使用教程_文件管理_软件教程_脚本之家
明文攻击题目举例
【网络安全 | Misc】明文攻击 ACTF2020_ctf 已知明文攻击-CSDN博客
一道关于压缩包的ctf题目(包括暴力破解,明文攻击,伪加密)
五、内存镜像取证
volatility
内存取证-volatility工具的使用 (史上更全教程,更全命令)_volatility内存取证-CSDN博客
金砖大赛题举例
第46届金砖国家世界技能大赛湖北省选拔赛 内存取证样题一_第46界世界技能大赛湖北数据取证-CSDN博客
john破解密码工具
强网杯内存取证和磁盘恢复
强网杯2021 CipherMan (内存取证分析)_强网杯 取证-CSDN博客
[HDCTF2019]你能发现什么蛛丝马迹吗
BUUCTF:[HDCTF2019]你能发现什么蛛丝马迹吗-CSDN博客
相关文章:
CTF-WEB(MISC)
安全攻防知识——CTF之MISC - 知乎 CTF之MISC杂项从入门到放弃_ctf杂项 你的名字-CSDN博客 CTF MICS笔记总结_archpr 掩码攻击-CSDN博客 一、图片隐写 CTF杂项---文件类型识别、分离、合并、隐写_ctf图片分离-CSDN博客 EXIF(Exchangeable Image File)是…...
Ubuntu如何更换 PyTorch 版本
环境: Ubuntu22.04 WLS2 问题描述: Ubuntu如何更换 PyTorch 版本考虑安装一个为 CUDA 11.5 编译的 PyTorch 版本。如何安装旧版本 解决方案: 决定不升级CUDA版本,而是使用一个与CUDA 11.5兼容的PyTorch版本,您可…...
python flask css样式无效
解释: Flask是一个Python的轻量级Web框架,它没有为CSS提供任何内置的支持。如果你在Flask项目中引入了CSS文件,但是这个CSS没有生效,可能的原因有: 路径不正确:你的CSS文件没有放在正确的目录下࿰…...
大数据学习笔记14-Hive基础2
一、数据字段类型 数据类型 :LanguageManual Types - Apache Hive - Apache Software Foundation 基本数据类型 数值相关类型 整数 tinyint smallint int bigint 小数 float double decimal 精度最高 日期类型 date 日期 timestamps 日期时间 字符串类型 s…...
vue3 下载图片(包括多图片下载)
单图片下载 //使用 download(https://img1.baidu.com/it/u1493209339,2544178769&fm253&app138&sizew931&n0&fJPEG&fmtauto?sec1715101200&t854f3434686cfd2cba9d6a528597d15c)//下载逻辑 const download async (modelUrl) > {const respons…...
LabVIEW如何通过子VI更改主VI控件属性?
在LabVIEW中,可以通过使用Local Variable或Property Node来实现主VI控件属性的更改。这些方法可以在主VI和子VI之间传递数据和控件属性。 Local Variable: 使用Local Variable可以在子VI中直接访问并修改主VI中的控件属性。在子VI中创建Local Variable,并…...
关于MS-DOS时代的回忆
目录 一、MS-DOS是什么? 二、MS-DOS的主要功能有哪些? 三、MS-DOS的怎么运行的? 四、微软开源MS-DOS源代码 五、高手与漂亮女同学 一、MS-DOS是什么? MS-DOS(Microsoft Disk Operating System)是微软公…...
数据库索引(Mysql)
简述:数据库索引是加速数据检索,提高查询效率的一种数据结构 语法规则 创建索引 --通用语法规则 --[内容] 可选参数 --UNIQUE: 可选关键字,用于创建唯一索引,确保索引列的值是唯一的 CREATE [UNIQUE] INDEX 索引名 ON 表名(字段名,...) [ASC | DESC];…...
异常-Exception
异常介绍 基本概念 Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)执行过程中所发生的异常事件可分为两大类 1,Error(错误):Java虚拟机无法…...
ctfshow——SQL注入
文章目录 SQL注入基本流程普通SQL注入布尔盲注时间盲注报错注入——extractvalue()报错注入——updataxml()Sqlmap的用法 web 171——正常联合查询web 172——查看源代码、联合查询web 173——查看源代码、联合查询web 174——布尔盲注web 176web 177——过滤空格web 178——过…...
第十三章 计算机网络
这里写目录标题 1.网络设备2.协议簇2.1电子邮件(传输层)2.2地址解析(网际层)2.3DHCP(动态主动配置协议)2.4URL(统一资源定位器)2.5IP地址和子网掩码 1.网络设备 物理层:中继器,集线器(多路中继器) 数据链路层:网桥,交换机(多端口…...
商品详情 API 返回值说明
商品详情API接口在多个领域和场景中都有广泛的应用,以下是一些常见的应用场景: 竞品分析:企业可以利用商品详情API接口获取竞品的所有详细信息,如价格、发货地、上架时间、销售量等。通过分析这些竞品信息,企业可以更…...
层级实例化静态网格体组件:开启大量模型处理之门
前言 在数字孪生的世界里,我们常常需要构建大量的模型来呈现真实而丰富的场景。然而,当使用静态网格体 (StaticMesh )构建大量模型时,可能会遇到卡顿的问题,这给我们带来了不小的困扰😣。那么&…...
【网络知识】光猫、路由器 和 交换机 的作用和区别?
数字信号:是指自变量是离散的、因变量也是离散的信号,这种信号的自变量用整数表示,因变量用有限数字中的一个数字来表示。在计算机中,数字信号的大小常用有限位的二进制数表示。 模拟信号:模拟信号是指用连续变化的物…...
初识Electron,创建桌面应用
历史小剧场 呜呼!古有匈奴犯汉,晋室不纲,铁木夺宋,虏清入关,神舟陆沉二百年有余,中国之见灭于满清初非满人能灭之,能有之也因有汉奸以作虎怅,残同胞媚异种,始有吴三桂洪承…...
AI编码时代到来?实现编程梦想的利器—Baidu Comate测评
文章目录 Comate智能编码是什么?Comate支持的环境 Comate应用安装实际操作对话式生成代码生成代码注释智能单测项目测试调优功能 总结 Comate智能编码是什么? 在如今这个拥抱AI的时代,市面上已经产出了很多Ai代码助手,如果你还没…...
去中心化自治组织(DAO)
文章目录 一、DAO (Decentralized Autonomous Organization) 去中心化自治组织 二、举例说明 1、例子1 2、例子2 总结 一、DAO (Decentralized Autonomous Organization) 去中心化自治组织 DAO是一种基于区块链平台上的组织结构,它通过智能合约来实现组织的…...
MySQL之多表查询
1. 前言 多表查询,也称为关联查询.指两个或两个以上的表一起完成查询操作.前提条件 : 这些一起查询的表之间是有关系的(一对一/一对多).他们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键. 2. 笛卡尔积现象(交叉连接…...
极端天气频发,我们普通人如何保全自己
随着全球气候变暖的加剧,极端天气事件如同一位不请自来的“不速之客”,频繁地闯入我们的生活。暴风雨、暴风雪、台风、干旱、热浪等极端天气现象,不仅给人们的生命和财产安全带来了前所未有的挑战,更对社会的正常秩序构成了严重威…...
直面市场乱价,品牌商家该如何解决?
在当今的商业世界中,品牌商面临着一系列严峻挑战,其中如何有效管理经销商价格是一个关键难题。经销商随意调整价格的行为,不仅会损害品牌的信誉与形象,还可能导致市场秩序混乱,使品牌利润大幅缩水。因此,采…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
上周三,HubSpot宣布已构建与ChatGPT的深度集成,这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋,但同时也存在一些关于数据安全的担忧。 许多网络声音声称,这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...







