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),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:41433130Adobe Photoshop (psd),文件头:38425053Rich Text Format (rtf),文件头:7B5C727466XML (xml),文件头:3C3F786D6CHTML (html),文件头:68746D6C3EEmail [thorough only] (eml),文件头:44656C69766572792D646174653AOutlook Express (dbx),文件头:CFAD12FEC5FD746FOutlook (pst),文件头:2142444EMS Word/Excel (xls.or.doc),文件头:D0CF11E0MS Access (mdb),文件头:5374616E64617264204AWordPerfect (wpd),文件头:FF575043Postscript (eps.or.ps),文件头:252150532D41646F6265Adobe Acrobat (pdf),文件头:255044462D312EQuicken (qdf),文件头:AC9EBD8FWindows Password (pwl),文件头:E3828596ZIP Archive (zip),文件头:504B0304RAR Archive (rar),文件头:52617221Wave (wav),文件头:57415645AVI (avi),文件头:41564920Real Audio (ram),文件头:2E7261FDReal Media (rm),文件头:2E524D46MPEG (mpg),文件头:000001BAMPEG (mpg),文件头:000001B3Quicktime (mov),文件头:6D6F6F76Windows Media (asf),文件头:3026B2758E66CF11MIDI (mid),文件头:4D5468642、从winhex中取出的文件头列表File Type ExtensionsHeaderJPEG jpg;jpeg 0xFFD8FFPNG png 0x89504E470D0A1A0AGIF gif GIF8TIFF tif;tiff 0x49492A00TIFF tif;tiff 0x4D4D002ABit map bmp BMAOL ART art 0x4A47040E000000AOL ART art 0x4A47030E000000PC Paintbrush pcx 0x0A050108Graphics Metafile wmf 0xD7CDC69AGraphics Metafile wmf 0x01000900Graphics Metafile wmf 0x02000900Enhanced Metafile emf 0x0100000058000000Corel Draw cdr CDRCAD dwg 0x41433130Adobe Photoshop psd 8BPSRich Text Format rtf rtfXML xmlHTML html;htm;PHP;php3;php4;phtml;shtml typeEmail eml Delivery-date:Outlook Express dbx 0xCFAD12FEOutlookpst!BDNMS Office/OLE2doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1MS Access mdb;mda;mde;mdt Standard JWordPerfect wpd 0xFF575043OpenOffice Writer sxw writerOpenOffice Calc sxc calcOpenOffice Math sxm mathOpenOffice Impress sxi impressOpenOffice Draw sxd drawAdobe FrameMaker fm