文件类型识别
-
WinHex
通过winHex程序可以打开查看文件头类型,根据文件头判断出文件类型,linux下可以使用file 文件名来判断文件类型。
-
常见的文件头类型:
文件类型 | 文件头 | 文件尾 |
---|---|---|
JPEG(jpg) | FF D8 FF E1 | FF D9 |
PNG(png) | 89 50 4E 47 | AE 42 60 82 |
GIF(gif) | 47 49 46 38 | 00 3B |
TIFF(tif) | 49 49 2A 00 | |
Windows Bitmap (bmp) | 42 4D | |
ZIP Archive(zip) | 50 4B 03 04 | 50 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}}