CTF杂项知识汇总

文件类型识别

  • WinHex
    通过winHex程序可以打开查看文件头类型,根据文件头判断出文件类型,linux下可以使用file 文件名来判断文件类型。
    在这里插入图片描述

  • 常见的文件头类型

文件类型文件头文件尾
JPEG(jpg)FF D8 FF E1FF D9
PNG(png)89 50 4E 47AE 42 60 82
GIF(gif)47 49 46 3800 3B
TIFF(tif)49 49 2A 00
Windows Bitmap (bmp)42 4D
ZIP Archive(zip)50 4B 03 0450 4B
RAR Archive (rar)52 61 72 21
Adobe Photoshop(psd)38 42 50 53
Rich Text Format (rtf)7B 5C 72 74 66
XML(xml)3C 3F 78 6D 6C
HTML(html)68 74 6D 6C 3E
Adobe Acrobat(pdf)25 50 44 46 2D 31 2E
Wave(wav)57 41 56 45
pcap (pcap)4D 3C 2B 1A
ico(ico)00 00 01 00
MS Word/Excel (xls.or.doc)D0 CF 11 E0
MS Access (mdb)53 74 61 6E 64 61 72 64 20 4A
WordPerfect (wpd)FF 57 50 43
application/vnd.visio(vsd)D0 CF 11 E0 A1 B1 1A E1
Email [thorough only] (eml)44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A
Outlook Express (dbx)CF AD 12 FE C5 FD 74 6F
Outlook (pst)21 42 44 4E
audio(Audio)4D 54 68 64
audio/x-aac(aac)FF F1 - FF F9
AVI (avi)41 56 49 20
Real Audio (ram)2E 72 61 FD
Real Media (rm)2E 52 4D 46
MPEG (mpg)00 00 01 BA
MPEG (mpg)00 00 01 B3
Quicktime (mov)6D 6F 6F 76
Windows Media (asf)30 26 B2 75 8E 66 CF 11
MIDI (mid)4D 54 68 64
Quicken (qdf)AC9EBD8F
Windows Password (pwl)E3828596
Quicken (qdf)AC9EBD8F
Windows Password (pwl)E3828596
  • 文件头错误
    针对文件头错误无法打开的文件,可以使用winhex打开,找一个相同类型的文件对应进行修改文件头

  • 文件分离操作
    binwalk filename分析文件
    binwalk -e filename分离文件
    foremost filename -o outfile分离文件
    dd
    在这里插入图片描述

  • 文件合并
    cat 合并的文件1 合并的文件2>输出的文件
    copy /B 合并的文件1 + 合并的文件2 输出的文件

    图像文件隐写

    • GIF多帧隐藏:颜色通道隐藏、不同帧信息隐藏、不同帧对比隐藏
    • Exif信息隐藏:图像信息,地址、时间、大小等
    • 图片修复:图像头修复、图片尾修复、CRC校验修复、长宽高修复
    • 最低有效位LSB隐写
    • 图片加密
    • 以“FF D8 FF E0”开头,以“FF D9”结尾的是jpeg文件;如下图所示,"FF D9"之后的部分“50 4B 03 04”是zip文件的开头,对应的ASCII文本为“PK”,这表示jpg文件之后追加了一个zip文件。
    • 00000010 0-3为长,00000010 4-7为宽,转成10进制后即为图像的长宽值。
      在这里插入图片描述

压缩文件处理

  • ZIP伪加密,winhex搜索16进制504B0102**,
  • 压缩源文件数据区:
    50 4B 03 04:这是头文件标记(0x04034b50)
    14 00:解压文件所需 pkware 版本
    00 00:全局方式位标记(有无加密)00 90:全局方式位标记(伪加密)
    08 00:压缩方式
    5A 7E:最后修改文件时间
    F7 46:最后修改文件日期
    16 B5 80 14:CRC-32校验(1480B516)
    19 00 00 00:压缩后尺寸(25)
    17 00 00 00:未压缩尺寸(23)
    07 00:文件名长度
  • 压缩源文件目录区:
    50 4B 01 02:目录中文件文件头标记(0x02014b50)
    3F 00:压缩使用的 pkware 版本
    14 00:解压文件所需 pkware 版本
    00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了)
    08 00:压缩方式
    5A 7E:最后修改文件时间
    F7 46:最后修改文件日期
    16 B5 80 14:CRC-32校验(1480B516)
    19 00 00 00:压缩后尺寸(25)
    17 00 00 00:未压缩尺寸(23)
    07 00:文件名长度
    24 00:扩展字段长度
    00 00:文件注释长度
    00 00:磁盘开始号
    00 00:内部文件属性
    20 00 00 00:外部文件属性
    00 00 00 00:局部头部偏移量
    在这里插入图片描述
  • 如何识别真伪加密:
    1.无加密:压缩源文件数据区的全局加密标志应当为00 00,且压缩源文件目录区的全局方式位标记应当为00 00
    2.伪加密:压缩源文件数据区的全局加密标志应当为00 00,且压缩源文件目录区的全局方式位标记应当为09 00
    3.真加密:压缩源文件数据区的全局加密标志应当为09 00,且压缩源文件目录区的全局方式位标记应当为09 00
  • RAR伪加密
  • RAR文件由于有头部校验,使用伪加密时打开文件会出现报错,使用winhex修改标志位后如报错消失且正常解压缩,说明是伪加密。使用winhex打开RAR文件,找到第24个字节,该字节尾数为4表示加密,0表示无加密,将尾数改为0即可破解伪加密。

在这里插入图片描述

Wireshark流量分析

  • wireshark常用的过滤命令:
  • 1、过滤IP,如源IP或者目标IP(192.168.1.1)
    ip.src eq IP or ip.dst eq IP
    ip.addr eq IP
  • 2、过滤端口
    tcp.port eq 80 or udp.port eq 80
    tcp.dstport ==80 只显示tcp协议的目标端口为80
    tcp.srcport ==80 只显示tcp协议的源端口为80
    tcp.port >=1 and tcp.port <=80
  • 过滤协议
    tcp/udp/arp/icmp/http/ftp/dns/ip…
  • 过滤MAC
    eth.dst == A0:00:00:00:01:01过滤目标MAC
  • 包长度过滤
    udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
    tcp.len >=7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
    ip.len == 94 除了以太网固定长度14,其它都算是ip.len,即从ip本身到最后
    frame.len == 119 整个数据包长度从eth开始到最后。
  • http模式过滤
    http.request.method == “GET”
    http.request.method == “POST”
    http.request.method == “/img/logo-edu.gif”
    http contains “GET”
    http contains “HTTP /1.”
    http.request.method == “GET” && http contains “Userr-Agent:”
    http contains “flag”
    http contains “key”
    tcp contains “flag”
    可以参考:https://blog.csdn.net/weixin_46555037/article/details/108910195

待补充

在线工具:https://www.ssleye.com/

其他

  • 1、http://111.200.241.244:59012/shrine/{{Burl_for.globals[‘current_app’].config}},python内置函数,比如url_for和get_flashed_messages。
  • 2、msg模板注入:http://111.200.241.244:51809/error?msg={{handler.settings}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值