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

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

二分法取第一位:

  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':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博客

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考虑极端天气线路脆弱性的配电网分布式电源和储能优化配置模型

1 主要内容 程序主要参考《考虑极端天气线路脆弱性的配电网分布式电源配置优化模型-马宇帆》&#xff0c;针对极端天气严重威胁配电网安全稳定运行的问题。基于微气象、微地形对配电网的线路脆弱性进行分析&#xff0c;然后进行分布式电源接入位置与极端天气的关联性分析&…

​【收录 Hello 算法】第 3 章 数据结构

第 3 章 数据结构 Abstract 数据结构如同一副稳固而多样的框架。 它为数据的有序组织提供了蓝图&#xff0c;算法得以在此基础上生动起来。 本章内容 3.1 数据结构分类3.2 基本数据类型3.3 数字编码 *3.4 字符编码 *3.5 小结

Java | Leetcode Java题解之第59题螺旋矩阵II

题目&#xff1a; 题解&#xff1a; class Solution {public int[][] generateMatrix(int n) {int num 1;int[][] matrix new int[n][n];int left 0, right n - 1, top 0, bottom n - 1;while (left < right && top < bottom) {for (int column left; co…

uniapp:K线图,支持H5,APP

使用KLineChart完成K线图制作,完成效果: 1、安装KLineChart npm install klinecharts2、页面中使用 <template><view class="index"><!-- 上方选项卡 --><view class="kline-tabs"><view :style="{color: current==ite…

《动手学深度学习(Pytorch版)》Task03:线性神经网络——4.29打卡

《动手学深度学习&#xff08;Pytorch版&#xff09;》Task03&#xff1a;线性神经网络 线性回归基本元素线性模型损失函数随机梯度下降 正态分布与平方损失 线性回归的从零开始实现读取数据集初始化模型参数定义模型定义损失函数定义优化算法训练 线性回归的简洁实现读取数据集…

【c++】Resharper 去掉中文注释拼写

参考大神&#xff1a; Resharper 去掉注释拼写 reshaper的中文注释一堆下划线&#xff0c;看的很累、很乱&#xff1a; options 里 在code inspetion里 搜索 去掉 Typo in comment 就可以不在中文注释提示 重启vs reshaperd 中文注释下划线没了。小番茄的还在。

jsPDF + html2canvas + Vue3 + ts项目内,分页导出当前页面为PDF、A 页面内导出 B 页面的内容为PDF,隐藏导出按钮等多余元素

jsPDF html2canvas Vue3 ts Arco Design项目&#xff0c;分页导出当前页面为PDF、A 页面内导出 B 页面的内容为PDF&#xff0c;隐藏导出按钮等多余元素… 1.下载所需依赖 pnpm install --save html2canvaspnpm install --save jspdf引入依赖 <script setup lang"…

2010NOIP普及组真题 3. 导弹拦截

线上OJ&#xff1a; 一本通&#xff1a;http://ybt.ssoier.cn:8088/problem_show.php?pid1951 核心思想&#xff1a; 1、我们把导弹分为区间1和区间2来看。1#拦截区间1&#xff0c;2#拦截区间2。 2、则&#xff1a;1#的拦截半径为区间1 中 最远的导弹&#xff0c;而2#的拦截半…

关于 c++的模板库中的数组模板 is_array_v的测试

&#xff08;1&#xff09;该模板的源代码如下&#xff1a; template <class> // determine whether type argument is an array bool is_array_v false;template <class _Ty, size_t _Nx> bool is_array_v<_Ty[_Nx]> true;template <class _Ty>…

学习java中的interface接口

1.了解接口 java提供了一个关键字interface&#xff0c;用这个关键字我们可以定义出一个特殊的结构&#xff1a;接口 格式&#xff1a; public interface 接口名{ //成员变量&#xff08;常量&#xff09; //成员方法&#xff08;抽象方法&#xff09; } 注意&#xff1a;接…

Python——Fastapi管理平台(打包+优化)

目录 一、配置多个表 1、后端项目改造 2、导包报错——需要修改&#xff08;2个地方&#xff09; 3、启动后端&#xff08;查看是否有问题&#xff09; 4、配置前端 二、打包——成exe文件&#xff08;不包含static文件&#xff09;简单 1、后端修改 2、前端修改 3、运行打包命…

[论文笔记]Longformer: The Long-Document Transformer

引言 今天带来论文Longformer: The Long-Document Transformer的笔记。 基于Transformer的模型由于其自注意力操作而无法处理长序列&#xff0c;该操作随着序列长度呈二次扩展。为了解决这一限制&#xff0c;本篇工作提出了Longformer&#xff0c;其注意力机制随着序列长度呈…

批量邮箱API发送邮件的方法?如何使用API?

批量邮箱API发送邮件效率怎么样&#xff1f;API接口发信的优势&#xff1f; 批量发送邮件已经成为许多企业、机构或个人进行营销推广、信息传递的重要手段。然而&#xff0c;如何高效、准确地实现批量邮箱发送&#xff0c;却是许多人面临的难题。AokSend就来探讨一下利用API进…

Python基础学习之logging模块

在Python编程中&#xff0c;日志记录&#xff08;Logging&#xff09;是一个非常重要的功能。它不仅可以帮助我们追踪和调试代码中的错误&#xff0c;还可以记录程序运行时的关键信息&#xff0c;以便后续分析和优化。Python标准库中的logging模块为我们提供了强大的日志记录功…

C++从入门到精通——模板

模板 前言一、泛型编程二、函数模板函数模板的概念函数模板格式示例 函数模板的原理函数模板的实例化隐式实例化显式实例化示例 auto做模板函数的返回值模板参数的匹配原则总结 三、类模板类模板的定义格式类模板的实例化 前言 C模板是C语言中的一种泛型编程技术&#xff0c;可…

IDEA--debug

1. 单点调试的三个级别 Step into&#xff1a;在单步执行时&#xff0c;遇到子函数就进入并且继续单步执行。Step over&#xff1a;在单步执行时&#xff0c;在函数内遇到子函数时不会进入子函数内单步执行&#xff0c;而是将子函数整个执行完再停止&#xff0c;也就是把子函数…

【保姆级教程】用IDEA2023版本给RuoYi-Vue添加子模块

文章目录 前言添加子模块新建子模块新建子模块界面&#xff1f;新建子模块界面&#xff01; 修改pom依赖配置RuoYiApplication添加测试接口配置接口权限测试 前言 若依前后端分离框架能够极大方便当前开发任务&#xff0c;并且使用的技术栈也相当丰富&#xff0c;但是目前只提…

ThingsBoard通知中心讲解

1、概述 2、案例 2.1、通知发送方式 2.2、发送通知 3、Templates模板 3.1、Add new template添加新模板 1、概述 ThingsBoard 通知中心是一个用于在平台内发送、管理和自动化通知的综合工具。它允许多种通知方法&#xff0c;包括网络、电子邮件、移动应用程序、短信以及与 …

基于SpringBoot+Vue点餐系统设计和实现(源码+LW+部署讲解)

&#x1f339;作者简介&#xff1a;✌全网粉丝10W&#xff0c;前大厂员工&#xff0c;多篇互联网电商推荐系统专利&#xff0c;现有多家创业公司&#xff0c;致力于建站、运营、SEO、网赚等赛道。也是csdn特邀作者、博客专家、Java领域优质创作者&#xff0c;博客之星、掘金/华…

go mod

常用命令 初始化模块 go mod init 模块名下载 go.mod 文件中指明的所有依赖 go mod download github.com/gin-gonic/ginv1.9.(依赖路径)依赖对其&#xff08;使引用的都是所依赖的&#xff09; go mod tidy编辑go.mod go mod edit go mod edit -require"github.com/g…