CTFHUB-技能树-Web前置技能-文件上传(前端验证—文件头检查)

CTFHUB-技能树-Web前置技能-文件上传(前端验证—文件头检查)

前端验证—文件头检查

题目考的是:png,gif等文件在文件的头部都会有其专有的字符,都确定这是什么类型的文件

比如用winhex打开,可以看到png专属的文件头信息。

解题方法:

1、制作图片木马

2、上传一个图片,使用bp抓包,在图片代码末尾中插入一句话木马,并修改filename为php文件

在这里插入图片描述

3、使用编辑器010editor、weihex等工具,在图片末尾插入一句话木马,抓包,并修改filename为php文件

在这里插入图片描述

题目解析

先上传一个php文件,发现提示

在这里插入图片描述

PHP文件被拦截了,然后我们看回题目,文件头检查,那么文件头是什么呢

在这里插入图片描述

简单来说,就是每个文件的最开头部分,就是文件头,他代表了这个文件的是属于什么类型,例如

我们随便打开一个png格式的文件

在这里插入图片描述

在这里插入图片描述

右侧开头%PNG就是这个文件的文件头,这也代表了这个文件是一个png文件,打开一个jpg文件
在这里插入图片描述

由此可见,只要是相同类型的文件,他的文件头就是一样的,这样代表了这个文件是属于什么类型,既然本题用到的是文件头检查,那我们制作一个图片马,将我们的一句话代码放入图片里面然后进行上传。

可以自己用画图工具做一个简单的png图片,一定要简单,做一个简朴的图,否则一些乱码会使php报错

我们先创造一个名为1.png的图片,然后写一个名为1.php的一句话代码,把他们放到同一目录下,用cmd生成一个名为2.php的图片马

在这里插入图片描述

copy 1.png/b+1.php/a 2.php

然后将此木马进行上传,并用bp抓包

在这里插入图片描述

将此段改为图片格式(MIME绕过,这段代表着一个文件的格式)

然后进行放包,文件上传成功

在这里插入图片描述

访问,发现代码执行

在这里插入图片描述

使用蚁剑连接,寻找flag

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

各种文件头标志
JPEG (jpg),文件头:FFD8FF

PNG (png),文件头:89504E47

GIF (gif),文件头:47494638

TIFF (tif),文件头:49492A00

Windows Bitmap (bmp),文件头:424D

CAD (dwg),文件头:41433130

Adobe Photoshop (psd),文件头:38425053

Rich Text Format (rtf),文件头:7B5C727466

XML (xml),文件头:3C3F786D6C

HTML (html),文件头:68746D6C3E

Email [thorough only] (eml),文件头:44656C69766572792D646174653A

Outlook Express (dbx),文件头:CFAD12FEC5FD746F

Outlook (pst),文件头:2142444E

MS Word/Excel (xls.or.doc),文件头:D0CF11E0

MS Access (mdb),文件头:5374616E64617264204A

WordPerfect (wpd),文件头:FF575043

Postscript (eps.or.ps),文件头:252150532D41646F6265

Adobe Acrobat (pdf),文件头:255044462D312E

Quicken (qdf),文件头:AC9EBD8F

Windows Password (pwl),文件头:E3828596

ZIP Archive (zip),文件头:504B0304

RAR Archive (rar),文件头:52617221

Wave (wav),文件头:57415645

AVI (avi),文件头:41564920

Real Audio (ram),文件头:2E7261FD

Real Media (rm),文件头:2E524D46

MPEG (mpg),文件头:000001BA

MPEG (mpg),文件头:000001B3

Quicktime (mov),文件头:6D6F6F76

Windows Media (asf),文件头:3026B2758E66CF11

MIDI (mid),文件头:4D546864

2、从winhex中取出的文件头列表

File Type ExtensionsHeader

JPEG jpg;jpeg 0xFFD8FF

PNG png 0x89504E470D0A1A0A

GIF gif GIF8

TIFF tif;tiff 0x49492A00

TIFF tif;tiff 0x4D4D002A

Bit map bmp BM

AOL ART art 0x4A47040E000000

AOL ART art 0x4A47030E000000

PC Paintbrush pcx 0x0A050108

Graphics Metafile wmf 0xD7CDC69A

Graphics Metafile wmf 0x01000900

Graphics Metafile wmf 0x02000900

Enhanced Metafile emf 0x0100000058000000

Corel Draw cdr CDR

CAD dwg 0x41433130

Adobe Photoshop psd 8BPS

Rich Text Format rtf rtf

XML xml

HTML html;htm;PHP;php3;php4;phtml;shtml type

Email eml Delivery-date:

Outlook Express dbx 0xCFAD12FE

Outlookpst!BDN

MS Office/OLE2doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1

MS Access mdb;mda;mde;mdt Standard J

WordPerfect wpd 0xFF575043

OpenOffice Writer sxw writer

OpenOffice Calc sxc calc

OpenOffice Math sxm math

OpenOffice Impress sxi impress

OpenOffice Draw sxd draw

Adobe FrameMaker fm

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 09:18:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 09:18:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 09:18:02       82 阅读
  4. Python语言-面向对象

    2024-04-24 09:18:02       91 阅读

热门阅读

  1. 【医疗器械-划分标准】

    2024-04-24 09:18:02       37 阅读
  2. ❤ vue 使用原生组件

    2024-04-24 09:18:02       32 阅读
  3. K8s: 控制器之Deployment对象

    2024-04-24 09:18:02       34 阅读
  4. Hive官方文档 join table 总结

    2024-04-24 09:18:02       36 阅读
  5. 学会MySQL(2)——间隙锁加锁算法分析

    2024-04-24 09:18:02       29 阅读
  6. 扫描自己服务器和应用的漏洞,出漏洞的报告

    2024-04-24 09:18:02       34 阅读
  7. 黑马微服务课程1

    2024-04-24 09:18:02       34 阅读
  8. Asp.Net Core中的进程内托管与进程外托管模型

    2024-04-24 09:18:02       31 阅读
  9. 146. LRU 缓存

    2024-04-24 09:18:02       31 阅读
  10. windows驱动开发-I/O请求(二)

    2024-04-24 09:18:02       28 阅读
  11. Linux内核驱动开发-006内核定时器

    2024-04-24 09:18:02       32 阅读
  12. c#版本LabelMe标注辅助工具源码

    2024-04-24 09:18:02       33 阅读