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