文件头

PHP反序列化漏洞总结

时光怂恿深爱的人放手 提交于 2020-03-01 03:32:30
又到了金三银四跳槽季,很多小伙伴都开始为面试做准备,今天小编就给大家分享一个网安常见的面试问题:PHP反序列化漏洞。 虽然PHP反序列化漏洞利用的条件比较苛刻,但是一旦被利用就会产生很严重的后果,所以很多公司都比较关注这个技能点,小伙伴们一定要掌握哦。 PHP序列化与反序列化介绍 什么是序列化与反序列化 维基百科中这样定义:序列化(serialization)在计算机科学的数据处理中,是指将数据结构或对象状态转换成可取用格式(例如存成文件,存于缓冲,或经由网络中发送),以留待后续在相同或另一台计算机环境中,能恢复原先状态的过程。 概念很容易理解,其实就是将数据转化成一种可逆的数据结构,自然,逆向的过程就叫做反序列化。 那么序列化与反序列化有什么用处呢? 举个例子: 比如:现在我们都会在淘宝上买桌子,桌子这种很不规则的东西,该怎么从一个城市运输到另一个城市,这时候一般都会把它拆掉成板子,再装到箱子里面,就可以快递寄出去了,这个过程就类似我们的序列化的过程(把数据转化为可以存储或者传输的形式)。当买家收到货后,就需要自己把这些板子组装成桌子的样子,这个过程就像反序列的过程(转化成当初的数据对象)。 也就是说,序列化的目的是方便数据的传输和存储。 在PHP应用中,序列化和反序列化一般用做缓存,比如session缓存,cookie等。 常见的序列化格式: 二进制格式 字节数组

pcap文件格式解析

萝らか妹 提交于 2020-02-28 07:01:34
pcap文件格式是常用的数据报存储格式,包括wireshark在内的主流抓包软件都可以生成这种格式的数据包 下面对这种格式的文件简单分析一下: pcap文件的格式为: 文件头 24字节 数据报头 + 数据报 数据包头为16字节,后面紧跟数据报 数据报头 + 数据报 ...... pcap.h里定义了文件头的格式     1 struct pcap_file_header 2 { 3 bpf_u_int32 magic; 4 u_short version_major; 5 u_short version_minor; 6 bpf_int32 thiszone; 7 bpf_u_int32 sigfigs; 8 bpf_u_int32 snaplen; 9 bpf_u_int32 linktype; 10 }; Pcap文件头24B各字段说明: Magic:4B:0×1A 2B 3C 4D:用来识别文件自己和字节顺序。0xa1b2c3d4用来表示按照原来的顺序读取,0xd4c3b2a1表示下面的字节都要交换顺序读取。一般,我们使用0xa1b2c3d4 Major:2B,0×02 00:当前文件主要的版本号 Minor:2B,0×04 00当前文件次要的版本号 ThisZone:4B 时区。GMT和本地时间的相差,用秒来表示。如果本地的时区是GMT,那么这个值就设置为0

IDE添加文件头@author信息

余生长醉 提交于 2020-02-24 21:12:12
文章目录 IDE添加文件头@author信息 eclipse中的设置 idea中的设置 IDE添加文件头@author信息 环境说明: eclipse版本:Photon Release (4.8.0) idea版本:2018.03.06 注意区分 IDE (Integrated Development Environment ,集成开发环境)和idea(IntelliJ IDEA,JAVA 开发软件,也就是java IDE,与eclipse同类) 在使用阿里编码规约扫描插件扫描代码的时候,我们会发现这样的提示,这是因为没有在代码中添加代码文件创建者、创建日期信息的注释信息,这篇文章我们来看一下怎样在eclipse和idea中设置@author(作者)@date(日期)信息; eclipse中的设置 Window->Preferences,进入参数设置页面; 参数设置页面左侧Java->Code Style->Code Templates,右侧展开Comments,点击Types,点击右侧Eidt…将内容修改为一下内容,并勾选底部Automatically add comments for new methods and types复选框,点击右下角Apply; /* * * @author mychangee * @date ${currentDate:date('YYYY/MM

深入程序编译链接和装载过程

僤鯓⒐⒋嵵緔 提交于 2020-02-20 02:29:27
文章目录 预编译 编译 汇编 链接 基础先知 指令和数据 分析二进制可重定位目标文件 main.o 的组成 强符号和弱符号 符号表 链接过程分析 运行 提问:一个源文件是如何变成可执行文件的? 在linux中,使用GCC来编译程序,我们逐步来分析: 预编译 gcc -E hello.c hello.i 编译 gcc -S hello.i -o hello.s 汇编 gcc -c hello.s -o hello.o 链接 gcc hello.o -o hello 运行 ./hello 预编译 预编译阶段主要处理以"#"开头的预编译指令。 删除宏定义并作文本替换 递归展开头文件“#include” 处理#if、#ifdef、#elif、#else、#endif等 删除注释“//”和 “/* */” 添加行号和文件标识,以便编译器产生编译调试时的行号信息,以及产生错误或警号时能够显示行号 保留所有的#pragma指令 编译 词法分析 语法分析 语义分析 代码优化 生成汇编指令 汇编 将汇编指令转换成机器指令 链接 基础先知 指令和数据 局部变量属于指令,静态变量和全局变量属于数据。 int gdata1 = 10; //数据 int gdata2 = 0; //数据 强符号 int gdata3;//数据 static int gdata4 = 11; //数据 static int

php文件权限

与世无争的帅哥 提交于 2020-02-17 02:43:14
"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 级别的错误信息。如果文件不存在则尝试创建之。 这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。 此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 来源: https://www.cnblogs

buuctf 极客大挑战 upload

柔情痞子 提交于 2020-01-29 23:01:03
最近接触了文件上传漏洞,刚好可以做这个题目了 普及下文件上传的漏洞: 根据一些bug可以把我们的木马文件上传进去从而达到控制服务器的目的 分享一下两位大哥文件上传漏洞的技巧以及讲解 文件上传的常见技巧及讲解 文件上传的骚操作 这道题百度了好久,才做出来 当个web狗真的难受 这道题考到了文件头绕过以及js代码绕过 先看看是不是黑名单 发现phtml可行 这边我在burpsuit试了很久才试出来的,过程不发了 不知道为什么jpg的文件头幻数不可行,gif的文件头幻数却可以,以后慢慢了解吧 放行之后进入到upload下 进到我们上传的(一句话木马)文件 成功进入, 现在我们就成功黑进这个服务器了,(终于明白之前菜刀的题目的意思了),放进菜刀里面去,成功黑进去了(当然也可以用蚁剑),这边暂时用菜刀做 去里面找flag 文件太多了,想起之前菜刀那个题目 打开终端,直接敲指令,爆出flag web狗真的不容易啊 来源: CSDN 作者: SopRomeo 链接: https://blog.csdn.net/SopRomeo/article/details/104108184

Python实现FLV视频拼接

只愿长相守 提交于 2020-01-25 00:28:44
文章摘要 本文简单说明了FLV文件的格式,以此为出发点,使用 Python 实现 FLV视频 的 拼接 。 一.FLV文件格式 关于FLV文件格式的解析网上有诸多文章,在这里就简单介绍一下需要了解的部分,以便读者更好地明白各段代码的功能。 FLV文件是由文件头(Header)和文件体(Body)按顺序拼接而成。审查FLV内容时,以二进制方式读取内容。 Header:文件头表明了文件的封装格式为FLV,存储对象为音频、视频或两者。 以下为FLV文件的Header,共 9 个字节: b'FLV\x01\x05\x00\x00\x00\t' 前 3 个字节(FLV)说明这是一个FLV文件 第 4 个字节(\x01)为版本号,固定为 1 第 5 个字节(\x05)表明存储对象,需将其转化成二进制(00000101)查看,左、右边的 1 分别表示文件含有音频和视频 后 4 个字节(\x00\x00\x00\t)表示文件头的长度,其值固定为 9 Body:文件体由若干个 Tag 组成,除了第一个,每个 Tag 是由头部( 11 字节)、主体(不定长)和尾部( 4 字节)组成。第一个 Tag 只有尾部。 Tag 又分为 3 类,脚本(scripts)、音频(audio)和视频(video)。通常第 2 个 Tag 为脚本类型,且只有一个,后续的都是音视频类型。 以下为脚本 Tag 的部分

用CFF Explorer隐藏文件格式

筅森魡賤 提交于 2020-01-20 23:15:41
1、首先我们加载两个PNG文件,可以看到 文件格式头部是一样的,我们如何将一个PDF文件格式改成PNG,修改之后的文件虽然含有图片的文件头格式,但是并不能打开。 将PNG的文件头复制写入到PDF文件头覆盖之前的格式。 修改了文件头格式之后,我们保存文件,这样造成的结果是,文件不能被识别。即便是修改文件后缀名为PNG也无法打开文件,但是接受文件的人可以再次修改文件头格式之后打开文件。 除了文件的头格式之外还有文件的尾格式,PNG文件的尾格式为 0000000049454E44AE42608282 一共24位 CFF Explorer不支持文件的新建,不像WinHex可以新建一个空白文档。所以要使用CFF Explorer构造一个新的文件,只能外部建好之后在导入,对HEX值进行填充。 因为图片本身是由不同的颜色值构成,而不同区域之间存在着大量的重复,可以作为填充单元并不会影响图片的视觉效果,少量的填充不会损害图片。长用来隐藏密文。如何在图片中找到隐藏的密文信息。 来源: https://www.cnblogs.com/xinxianquan/p/12219621.html

Nginx越界读取缓存漏洞(CVE-2017-7529)—— vulhub漏洞复现 005

╄→гoц情女王★ 提交于 2020-01-20 02:25:12
前言 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身 Voulhub靶机平台环境搭建和使用: https://blog.csdn.net/qq_41832837/article/details/103948358 目录: 漏洞原理 漏洞详情 漏洞复现 漏洞原理 Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件。缓存的部分存储在文件中,每个缓存文件包括“文件头”+“HTTP返回包头”+“HTTP返回包体”。如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的“HTTP返回包体”返回给用户。 如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容。而如果我构造了两个负的位置,如(-600, -9223372036854774591),将可能读取到负位置的数据。如果这次请求又命中了缓存文件,则可能就可以读取到缓存文件中位于“HTTP返回包体”前的“文件头”、“HTTP返回包头”等内容。当Nginx服务器使用代理缓存的情况下,攻击者通过利用该漏洞可以拿到服务器的后端真实IP或其他敏感信息。 漏洞详情 影响版本:Nginx version 0.5.6 - 1.13.2

23、猫片(安恒)

强颜欢笑 提交于 2020-01-20 00:23:09
0x01、题目:猫片(安恒) 0x02、WP 1、右键链接,点击新建标签页打开链接,保存该附件 2、注意题目的提示,这是关键点:hint:LSB BGR NTFS 注意:LSB是最低有效位,BGR是blue、green、red三种基色,NTFS是一种文件流格式 3、既然不知道这个是什么,我们拉进010edit,确认是不是png图片,png文件头为8059 4E47 修改格式为png.png,如下图所示 4、又开始了图片的隐写套路 ①、打开图片,发现大小和颜色没什么特殊,但是由于提示,提到了最低有效位和基色 于是: 我们使用图片隐写神器,Stegsolve打开该图片,并且进入data txtract模块 勾选LSB First、BGR、还有三个0,再点击preview预览,发现有PNG图片,但是它的文件头多出了fffe这个,我们需要修改 save bin保存该文件为1.png ,再放入winhex,修改其文件头,得到了半张二维码图片: 我们修改宽和高得到: 扫描该二维码得一个网盘地址:https://pan.baidu.com/s/1pLT2J4f ②、这个网盘里面存了一个压缩包,我们解压后得到 ③、再次想到题目的提示有:LSB、BGR、NTFS,现在我们已经用到了前两个,还没用到NTFS 我们想到了NTFS隐写,可以通过ntfsstreamseditor.exe软件来扫描