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信息查看器 

文件头格式

常见文件的格式包括文件头、文件体和文件尾

  • 文件头包括产生或编辑文件的软件信息以及文件本身的参数,文件头格式错误会导致文件不可用
  • 文件体是文件的主体部分,包含了文件的具体数据,对文件的容量起决定性的作用
  • 文件尾是可选项,可以包含一些用户信息
文件类型文件头格式文件尾格式
JPEGFF D8 FFFF D9
PNG89 50 4E 47 0D 0A 1A 0A49 45 4E 44 AE 42 60 82
GIF47 49 46 38 39 6100 3B
BMP42 4D00 00 00 00
MP349 44 33FF FB
WAV52 49 46 463E 00 00 00
AVI52 49 46 4600 00 00 00
MP400 00 00 20 66 74 79 70 69 73 6F 6D00 00 00
ZIP50 4B 03 0450 4B 05 06
RAR52 61 72 21 1A 07 0000 00 00
PDF25 50 44 460A 25 25 45 4F 46
DOCX50 4B 03 0450 4B 05 06
EXE4D 5A-
ELF7F 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格式的组成:

  1. png文件标志,固定64字节:0x89504e47 0x0d0a1a0a
  2. 文件头数据块IHDR
  3. 调色板数据块PLTE
  4. sBIT,tRNS块
  5. 图像数据块IDAT
  6. 图像结束数据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 binascii

crcbp = 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) & 0xffffffff
        if(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 re

s = 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值相比较的值

粉色框中数字代表返回的数据的长度(要依据这个来判断上面的语句是否正确)

二分法取第一位:

  1. asci有 128个所以从 64 开始判断、然后是96(64和128的中间值),说明>64是正确的,才会取96
  2.  80、80小于96,说明>96是错误的,所以才会取 64和96 的中间值 80
  3.  72,说明>80是错误的,取80和64之间的中间值72
  4.  76,说明>72是正确的,才会取 72 和80之间的中间值76
  5.  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':
         continue
    nums.append(int(line[6:8],16))

keys.close()

output = ""
for n in nums:
    if n == 0 :
        continue
    if 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改为8
            out=''
            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:
        break

fi.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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/595912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

笔记本电脑怎么多选删除文件?误删除文件怎么办

在日常使用笔记本电脑中&#xff0c;我们可能会遇到需要删除大量文件的情况&#xff0c;例如清理临时文件、整理文档或卸载不再需要的程序。手动一个一个地删除不仅效率低下&#xff0c;还可能遗漏某些文件。那么&#xff0c;如何在笔记本电脑上高效地进行多选删除操作呢&#…

Case中default的综合结果

在使用case语句时&#xff0c;不完备的case语句会导致Vivado综合时推断出锁存器。下面通过实例来详细看看各种情况下的综合结果&#xff1a; 1.完备的case语句 下述的verilog对应的电路结构是一个8选一的多路复用器&#xff1a; module case_test(input [2:0]sel,input data…

PostgreSQL连接拒绝如何解决和排查?

1. 服务器未运行 解决方案&#xff1a;确保 PostgreSQL 服务已启动。在 Linux 上&#xff0c;你可以使用如下命令来检查服务状态&#xff1a;sudo systemctl status postgresql如果服务未运行&#xff0c;使用以下命令启动它&#xff1a;sudo systemctl start postgresql2. Po…

【软考】模拟考卷错题本2024-05-05

1 算法 关键词&#xff1a;按照单位重量价值大优先&#xff0c;那就是1、2、3即430&#xff1b;之后的根据排除法又可以得到630&#xff1b;故C。 2 UML 序列图 上图已经基本上有解析&#xff1b;重点在于在四个选项中选正确的。根据概念排除&#xff1a;异步和同步是不一样的&…

uniapp的底部弹出层实现保姆式教程

实现照片: 此过程先进入uniapp官网,找到扩展组件 打开找到里面的uni-popup和uni-icons 点击进入,下载&安装 点击下载并导入HBuilderX 导入到你使用的目录,如test目录

高效、精准:皮秒激光切割机在陶瓷基板加工中的应用

皮秒激光切割机&#xff08;激光划片机&#xff09;在陶瓷基板切割领域具有显著的优势和潜力&#xff0c;主要体现在以下几个方面&#xff1a; 1. 高精度&#xff1a;皮秒激光切割机能够实现极高的切割精度&#xff0c;对于陶瓷基板这种需要精细加工的材料尤为重要。它能够在不…

五一 作业

#include <iostream>using namespace std; class Num { private:int a; public:Num() {}Num(int a):a(a){}//设置a的值void set(int a){this->aa;}//1-a的和void Sum(){if(a<1){cout<<"a<1"<<endl;return;}int sum0;for(int i1;i<a;i)…

Excel文件解析---超大Excel文件读写

1.使用POI写入 当我们想在Excel文件中写入100w条数据时&#xff0c;使用XSSFWorkbook进行写入时会发现&#xff0c;只有将100w条数据全部加载到内存后才会用write()方法统一写入&#xff0c;效率很低&#xff0c;所以我们引入了SXXFWorkbook进行超大Excel文件读写。 通过设置 …

图像降噪算法 BM3D 介绍

介绍 BM3D 是 “Block-Matching and 3D Filtering” 的缩写&#xff0c;即三维块匹配滤波&#xff0c;它是一种用于图像去噪的算法。该算法来源于 一篇“Image and video denoising by sparse 3D transform-domain collaborative filtering”的高质量文章&#xff0c;文章的作…

软件测试面试问题汇总

一般软件测试的面试分为三轮&#xff1a;笔试&#xff0c;HR面试&#xff0c;技术面试。 前两轮&#xff0c;根据不同企业&#xff0c;或有或无&#xff0c;但最后一个技术面试是企业了解你“行不行”的关键环节&#xff0c;每个企业都会有的。 在平时的学习、工作中一定要善于…

为什么要学Python?学Python有什么用?

为什么要学Python&#xff1f;学Python有什么用&#xff1f; 在当今的数字化时代&#xff0c;编程已成为一项宝贵的技能。Python&#xff0c;作为一种流行的编程语言&#xff0c;因其易于学习和强大的功能而受到全球开发者的青睐。本文将探讨学习Python的原因和它的实际应用&am…

MLP实现fashion_mnist数据集分类(1)-模型构建、训练、保存与加载(tensorflow)

1、查看tensorflow版本 import tensorflow as tfprint(Tensorflow Version:{}.format(tf.__version__)) print(tf.config.list_physical_devices())2、fashion_mnist数据集下载与展示 (train_image,train_label),(test_image,test_label) tf.keras.datasets.fashion_mnist.l…

如何使git提交的时候忽略一些特殊文件?

认识.gitignore文件 在生成远程仓库的时候我们会看到这样一个选项&#xff1a; 这个.gitignore文件有啥用呢&#xff1f; .gotignore文件是Git版本控制系统中的一个特殊文件。用来指定哪些文件或者目录不被Git追踪或者提交到版本库中。也就意味着&#xff0c;如果我们有一些文…

怎么通过Java语言实现远程控制无人售货柜

怎么通过Java语言实现远程控制无人售货柜呢&#xff1f; 本文描述了使用Java语言调用HTTP接口&#xff0c;实现控制无人售货柜&#xff0c;独立控制售货柜、格子柜的柜门。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称厂商1智能WiFi控…

使用 Postman 实现 API 自动化测试

背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉&#xff0c;对于开发人员和测试人员而言&#xff0c;使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件&#xff0c;相对较难或较麻烦&#xff08;如使用 RPA&am…

低功耗UPF设计的经典案列分享

案例1 分享个例子&#xff0c;景芯A72低功耗设计&#xff0c;DBG domain的isolation为何用VDDS_maia_noncpu供电而不是TOP的VDD&#xff1f; 答&#xff1a;因为dbg的上一级是noncpu&#xff0c;noncpu下面分成dbg和两个tbnk。 案例2 景芯A72的低功耗&#xff0c;请问&#…

精品干货 | 数据中台与数据仓库建设(免费下载)

【1】关注本公众号&#xff0c;转发当前文章到微信朋友圈 【2】私信发送 数据中台与数据仓库建设 【3】获取本方案PDF下载链接&#xff0c;直接下载即可。 如需下载本方案PPT/WORD原格式&#xff0c;请加入微信扫描以下方案驿站知识星球&#xff0c;获取上万份PPT/WORD解决方…

零基础入门学习Python第二阶01生成式(推导式),数据结构

Python语言进阶 重要知识点 生成式&#xff08;推导式&#xff09;的用法 prices {AAPL: 191.88,GOOG: 1186.96,IBM: 149.24,ORCL: 48.44,ACN: 166.89,FB: 208.09,SYMC: 21.29}# 用股票价格大于100元的股票构造一个新的字典prices2 {key: value for key, value in prices.i…

小微公司可用的开源ERP系统

项目介绍 华夏ERP是基于SpringBoot框架和SaaS模式的企业资源规划&#xff08;ERP&#xff09;软件&#xff0c;旨在为中小企业提供开源且易用的ERP解决方案。它专注于提供进销存、财务和生产功能&#xff0c;涵盖了零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询…

Unreal Engine插件打包技巧

打开UE工程&#xff0c;点击编辑&#xff0c;选择插件&#xff0c;点击"打包"按钮&#xff0c;选择输出目录UE4.26版本打包提示需要VS2017问题解决 1&#xff09;用记事本打开文件【UE4对应版本安装目录\Epic Games\UE_4.26\Engine\Build\BatchFiles\RunUAT.bat】 2&…