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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/555262.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【笔试强训】DFS、优先队列、滑动窗口笔试题目!

文章目录 1. 单词搜索2. 除 2 操作3. dd 爱框框 1. 单词搜索 题目链接 解题思路: DFS (深度优先遍历),用一个 pos 记录要匹配单词 word 的位置,每次与 pos 进行匹配判断(这样做的好处是不用把答案存下来) 注意细节…

深入解析Nacos配置中心的动态配置更新技术

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在微服务架构中,配置管理变得尤为关键。Nacos,作为一个开源的、易于使用的、功能丰富的平台,为…

electron的webview和内嵌网页如何通信

在 Electron 的世界里,webview 标签相当于一个小盒子,里面可以装一个完整的网页,就像一个迷你浏览器。当你想和这个小盒子里的内容说话时(也就是进行通信),这里有几个方法可以帮你做到: 这里只写…

轻量化模块整理,即插即用

轻量化模块整理,即插即用(持续更新) 整理一些轻量化的结构,作为知识储备,可以用到后续的项目和研究中 Mobilenetv3 深度可分离卷积 MobileNetV3 是一个轻量级的深度学习模型,专为移动和边缘设备上的高效…

conda配置多版本python

安装conda 以下任选下载 Anaconda Miniconda 配置conda环境变量 比如windows,在配置我的电脑中的环境变量,在系统变量的Path中新增下面内容 需要根据实际目录进行更改 D:\soft\miniconda3 D:\soft\miniconda3\Scripts D:\soft\miniconda3\Library\bi…

windows与linux双系统下,为linux系统/boot独立分区扩容

问题 安装ubuntu系统时,采用手动分区: 1. /boot :一般分配1G,电脑空间大可以分配4G 2. / :分配150-200G,类似windows C盘,存放系统环境:如ROS,python等 3. swap :…

PE文件(一)PE结构概述

PE结构简述 Windows操作系统是只能运行以内存4D 5A开头,翻译是MZ的可执行文件,也叫做PE结构文件,是以exe,.sys,.dll等等作为后缀的文件。而不同的操作系统能运行的可执行文件都是各自特有的,比如Linux可运…

图与图搜索算法

图搜索算法是一个非常重要的概念,它是计算机科学中图论和算法设计的基础部分。在开始讨论图搜索算法之前,我们需要先理解什么是图以及图的基本结构。 什么是图? 图(Graph)是一种非线性数据结构,它由一组点…

算法训练营第25天回溯(分割)

回溯算法(分割) 131.分割回文串 力扣题目链接(opens new window) 题目 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: “aab” 输出: [ [“aa”,“b”], [“a”,“…

3D模型查看器开发实战【WebGL】

本文介绍如何从头开发一个包含3D 模型查看器的页面 - 尽管它非常简单,但你将学习的步骤也应该有助于构建其他类型的 Web 应用程序。 在自己的网站或博客里展示3D模型更简单的方式是使用NSDT 3DConvert提供的在线服务,无需任何开发工作,5分钟…

简单3步制作纸质英语绘本的mp3英语朗读音频

孩子学英语,需要看很多英语绘本,而且要听配套的音频。但有些英语绘本是没有对应音频的,下面简单三步,就可以将任意英语绘本制作出对应的英语朗读音频。 第一步,手机拍照做成PDF文件: 绘本每一页拍照后&…

模拟量化面试20问回答

原文链接 参考链接 量化的基本公式 对称均匀量化(symmetric uniform quantization) 对称量化将零点z限制为真实的0。注意对称均匀量化并不是关于零点对称。它还分为有符号和无符号。 signed量化公式 signed量化范围 8bit量化范围[-128, 127] signe…

使用python进行网站答题操作

介绍: 使用Python和DrissionPage模块编写自动化脚本,以模拟人的行为访问网站并获取题目答案进行自动答题。这个脚本似乎是为答题网站设计的,通过监控特定数据包地址来获取题目答案,并模拟点击正确答案进行答题。 代码中的逻辑包…

List实现(2)| LinkedList

参考:LinkedList 源码分析 在Java中,LinkedList是一个双向链表,实现了List和Deque接口,可以被当作列表(List)、队列(Queue)或者双端队列(Deque)使用。它允许…

[渗透测试学习] TwoMillion-HackTheBox

TwoMillion-HackTheBox 信息搜集 nmap扫描一下 nmap -sV -v 10.10.11.221扫描结果 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 3851/tcp f…

LeetCode第797题: 所有可能的路径

目录 1.问题描述 2.问题分析 1.问题描述 给你一个有 n 个节点的有向无环图(DAG),请你找出所有从节点 0 到节点 n-1 的路径并输出(不要求按特定顺序)。 graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08…

解决IDEA https://start.spring.io/连接不上

1.换成下边这个地址试试 https://start.springboot.io/2.换成阿里云试试,绝对可行,但是版本有点低 https://start.aliyun.com

使用Java调用音乐开放API,并进行播放

使用Java调用音乐开放API,并进行播放 背景描述 电脑没有下载音乐软件,使用网页播放又不太方便,所有就想着使用Java语言直接调用音乐开放API,然后进行播放音乐。 具体代码如下,包含了注释 package com.lowkey.comple…

python学习笔记B-06:序列结构之列表--列表的创建和删除

序列结构主要有列表、元组、字典、集合和字符串,列表是要学习的第一种序列结构。下面是列表的创建和删除方法。 import random #导入一个随机数发生器 print("创建列表方法1:直接列表名,等号,方括号中间内容用逗号隔开&quo…

基于小程序实现的精准扶贫数据收集系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:ssm 【…