文件头

Bugku CTF 杂项(21-29) Writeup

匿名 (未验证) 提交于 2019-12-03 00:34:01
下载得到一个图片,用winhex打开发现jpg文件尾FF D8后面有大量16进制数据,复制后面的数据,用notepad++中插件convert,hex->ascii转换后是一个个坐标点。 将括号和逗号去掉保存为txt文件。 再利用gnuplot画图(windows),输入:“plot “文件名””,回车得到一张二维码(注意,文件路径的反斜杠要转义)。 不知为啥,自己画出来的扫描不出来。 0x22convert convert转换的意思,打开是一串二进制,将它转换成十六进制,再把十六进制字符写到HxD中,发现文件头是52 61 72,rar文件头。就把它保存成rar文件,解压得到一张图片,查看属性,里面有一串base64编码,解码得到flag。 附上一个脚本: import binascii __author__ = 'feifei' # !/usr/bin/env python # -*- coding: utf-8 -*- base = [str(x) for x in range( 10 )] + [chr(x) for x in range(ord( 'A' ), ord( 'A' ) + 6 )] # bin2dec def bin2dec (string_num) : return str(int(string_num, 2 )) # hex2dec def

BUUCTF--checkin

匿名 (未验证) 提交于 2019-12-03 00:17:01
文件上传 文件上传一般验证方式: 1.本地js验证(客户端) 2.MIME验证(服务端) 3.拓展名验证(服务端) 4.脚本内容(文件头)验证(服务端) 通常会用到exif_imagetype()函数,这个函数会读取图片头并返回一个数组 绕过方法: 1.本地js验证 方法很多,直接f12删除限制的代码再提交表单 2.mime验证 抓包修改content-type的内容就行了 一般这个验证对应得验证代码如下 $_FILES['upfile']['type'] == 'image/gif' //png、jpg..... 3.拓展名验证 多找一些,尝试找到有没有服务器漏掉得,比如php5,php7 大小写看能否能绕过 0x00绕过 4.文件头验证 修改文件头 JPG :FF D8 FF E0 00 10 4A 46 49 46 //参考文章https://blog.csdn.net/weixin_44077544/article/details/102688564 PNG: 89 50 4E 47 //参考文章https://blog.csdn.net/weixin_44077544/article/details/102688564 GIF(相当于文本的GIF89a):47 49 46 38 39 61 //参考文章https://blog.csdn.net/weixin

字符编码和文件处理

匿名 (未验证) 提交于 2019-12-02 23:45:01
计算机运行的三大核心硬件 任何一个程序要想运行必须先由硬盘加载到内存,然后去CPU取值执行。 运行着的应用程序产生的数据,必须先存到内存。 字符编码 字符编码针对的是文字 文本编辑器的输入和输出是两个过程,人在操作计算机的时候输入的是人能够看懂的字符,但是计算机只能识别010101这样的二进制数据,那么 输入的字符 >>>(字符编码表)>>> 二进制数字 字符编码表就是字符与数字的对应关系 a 0 b 1 a 00 b 01 c 11 d 10 阶段一:现代计算机起源于美国,最早诞生也是基于英文考虑的ASCII ASCII最初只用了后七位,127个数字,已经完全能够代表键盘上所有的字符了(英文字符/键盘的所有其他字符) 后来为了将拉丁文也编码进了ASCII表,将最高位也占用了 阶段二:为了满足中文,中国人定制了GBK GBK:用2Bytes表示一个中文字符 还是用1Bytes表示一个英文字符 为了满足其他国家,各个国家纷纷定制了自己的编码 日本把日文编到 Shift_JIS 里,韩国把韩文编到 Euc-kr 里 阶段三:各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 于是产生了unicode, 统一用2Bytes代表一个字符, 2**16-1=65535,可代表6万多个字符,因而兼容万国语言 但对于通篇都是英文的文本来说

DOS文件头和DOS块

匿名 (未验证) 提交于 2019-12-02 23:42:01
可执行文件的向下兼容性 DOS下执行一个PE文件? PE文件中的DOS部分由MZ格式的文件头和可执行代码部分组成,可执行代码被称为“DOS块”(DOS stub长度不定) DOS文件头的基本作用: 1、若在DOS下执行一个PE文件,系统可以将文件解释为DOS下的.exe可执行格式,并执行DOS部分的代码。 文章来源: https://blog.csdn.net/dyxcome/article/details/91357880

java读取文件内容,文件头有\"\\ufeff\"

匿名 (未验证) 提交于 2019-12-02 21:52:03
"\ufeff"是UTF-8 BOM编码的文件头,代表该文件按照什么字节顺序排序 调用java的工具类[ UnicodeInputStream ]即可解决这个问题 //第二个参数targetEncoding为null时在getDetectedEncoding方法中会自动检测编码类型 UnicodeInputStream unicodeInputStream = new UnicodeInputStream(inputStream, null); String enc = unicodeInputStream.getDetectedEncoding(); //UnicodeInputStream内部由PushbackInputStream实现,跳过了无意义的文件头 bufferedReader = new BufferedReader(new InputStreamReader(unicodeInputStream, enc)); 来源:博客园 作者: 万世明 链接:https://www.cnblogs.com/wanshiming/p/11543184.html

极光实验室 国庆大礼包wp(暂不完全版)

非 Y 不嫁゛ 提交于 2019-12-02 07:09:18
have_fun 1.我和我的祖国.jpg,先看属性,价值观加密,解一下得到开始了开始了.zip的密码 2.word文档的本质是zip文件,改下后缀,根据提示在core.xml中找到继续.zip的密码 3.图片的base64加密,解一下,图片上有坚持坚持.zip的密码 4.根据hint用ziperello暴力一下得到国庆节开心吗.zip的密码 5.base64隐写解码:去掉等号,转为二进制数;八个一组,多余位扔掉,转化为对应的ASCII码。得到加油啊.zip密码。 6.先看属性,图穷flag见,Winhex看一下 ​ jpg:文件头:FF D8 FF 文件尾:03 FF D9 ​ png:文件头:89 50 4E 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52(十六进制) ​ 文件尾:00 00 00 00 49 45 4e 44 AE 42 60 82(十六进制) ​ gif:文件头:47 49 46 38 ​ zip:文件头:50 4B 03 04 jpg文件尾之后还有东西,另存为新txt文件,用notepad++插件Hex->ASCII转一下,得到一大串坐标,结合图片属性里的“会画图吗”,在网上找到一个gnuplot画图工具,但记得要把括号都去掉,画出来一个二维码,截个图调一下大小,扫一下得出flag。 hhh 靳爷图片应该是没显全

文件后缀名

这一生的挚爱 提交于 2019-12-02 06:13:19
在后缀未知,或者后缀被修改的文件,依然通过文件头来判断该文件究竟是什么 文件类型 。方法是:用一个文本编辑工具如UltraEdit打开文件(16进制模式下),然后看文件头是什么字符,以下是常见 文件类型 的文件头字符,希望对你有帮助: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

php fopen用法以及解释

纵然是瞬间 提交于 2019-11-30 18:55:07
$log = fopen('./log.txt','a');//生成一个log.txt文件,a相当于文件的权限 fwrite($log,'成功'."\r\n");//写入文件              mode 参数的可能的值 "r" 只读方式打开,将文件指针指向文件头。 "r+" 读写方式打开,将文件指针指向文件头。 "w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 "w+" 读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 "a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 "a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 "x" 创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 "x+" 创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息

文件头尾

筅森魡賤 提交于 2019-11-30 08:14:20
JPEG (jpg),文件头:FFD8FF    文件尾:FFD9                PNG (png),文件头:89504E47   文件尾:AE 42 60 82 GIF (gif), 文件头:47494638   文件尾:00 3B ZIP Archive (zip) ,文件头:504B0304   文件尾:50 4B RAR Archive (rar) , 文件头:52617221 来源: https://www.cnblogs.com/thenbz3/p/11574790.html

BMP 图像信息隐藏及检测

馋奶兔 提交于 2019-11-30 02:20:29
原理简介 针对文件结构的信息隐藏方法需详细掌握文件的格式,利用文件结构块之间的关系或根据块数据和块大小之间的关系来隐藏信息。 BMP(Bitmap-File)图形文件是 Windows 采用的常见图形文件格式,要利用 BMP 位图进行信息隐藏首先需要详细了解 BMP 文件的格式,BMP 图像文件结构比较单一而且固定,BMP 图像由文件头、信息头、调色板区和数据区四个部分组成,而 24 位真彩色图像中没有调色板信息。24 位真彩色 BMP 位图文件包括 3 部分。 第一部分是 BMP 文件头。前 2 个字节是“BM”,是用于识别 BMP文件的标志;第 3、4、5、6 字节存放的是位图文件的大小,以字节为单位;第7、8、9、10 字节是保留的,必须为 0;第 11、12、13、14 字节给出位图阵列相对于文件头的偏移,在 24 位真彩色图像中,这个值固定为 54;19,20,21,22表示的是图像文件的宽度,以像素为单位;23,24,25,26 表示的是图像文件的高度,以像素为单位。第二部分是位图信息头。从第 29 个字节开始,第 29、30 字节描述的是像素的位数, 24 位真彩色位图。该位的值为 0x18; 第三部分是数据区。从第 55 个字节开始,每 3 个字节表示一个像素,这 3 个字节依次表示该像素的红、绿、蓝亮度分量值。 在不影响图像正常显示情况下,可使用以下四种方法在