php serialize

5.1. PHP

只愿长相守 提交于 2020-08-04 17:37:46
内容索引: 5.1. PHP 5.1.1. 后门 5.1.1.1. php.ini构成的后门 5.1.1.2. .user.ini文件构成的PHP后门 5.1.2. 反序列化 5.1.2.1. PHP序列化实现 5.1.2.2. PHP反序列化漏洞 5.1.2.3. 相关CVE 5.1.2.3.1. CVE-2016-7124 5.1.3. Disable Functions 5.1.3.1. 机制实现 5.1.3.2. Bypass 5.1.4. Open Basedir 5.1.4.1. 机制实现 5.1.5. 安全相关配置 5.1.5.1. 函数与类限制 5.1.5.2. 目录访问限制 5.1.5.3. 远程引用限制 5.1.5.4. Session 5.1.5.4.1. Session.Save 5.1.5.4.2. Session.Upload 5.1.6. PHP流 5.1.6.1. 简介 5.1.6.2. 封装协议 5.1.6.3. PHP支持流 5.1.6.3.1. 输入输出流 5.1.6.3.2. fd 5.1.6.3.3. memory与temp 5.1.6.3.4. input 5.1.6.4. filter 5.1.6.4.1. 过滤器列表 5.1.6.4.2. 过滤器利用tricks 5.1.7. htaccess injection payload 5

PHP文件包含 整理

妖精的绣舞 提交于 2020-07-28 14:06:17
文件包含 目录 文件包含 1. 概述 1.1 常见的引发漏洞的函数: 1.2 利用条件 1.3 分类和利用思路 2. 利用方法 2.1 配合文件解析漏洞来包含 2.2 读取系统敏感文件(路径遍历) 2.3 包含http日志文件 2.4 包含SSH日志 2.5 使用PHP伪协议 2.6 配合phpinfo页面包含临时文件 2.7 包含Session 2.9 包含环境变量 3. 绕过技巧 3.1 限制路径路径 3.2 限制后缀 3.3 allow_url_include = off 3.4 Base64 处理的session文件 3.5 自己构造Session 3.6 CVE-2018-14884 参考资料: 文件包含漏洞简介 利用phpinfo条件竞争 PHP文件包含漏洞利用思路与Bypass总结手册 1. 概述 什么是文件包含: 文件包含函数所加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他文件或恶意代码,导致信息泄露或代码注入。 要求:包含的文件路径攻击者可控,被包含的文件web服务器可访问。 1.1 常见的引发漏洞的函数: include() 执行到 include 时才包含文件,文件不存在时提出警告,但是 继续执行 。 require() 只要程序运行就会包含文件,文件不存在产生致命错误,并 停止脚本 。 include_once() 和 require

PHP序列化及反序列化漏洞学习小结

青春壹個敷衍的年華 提交于 2020-04-07 14:02:50
PHP反序列化 最近又遇到php反序列化,就顺便来做个总结。 0x01 PHP序列化和反序列化 php序列化:php对象 序列化的最主要的用处就是在传递和保存对象的时候,保证对象的完整性和可传递性。序列化是把对象转换成有序字节流,以便在网络上传输或者保存在本地文件中。序列化后的字节流保存了php对象的状态以及相关的描述信息。序列化机制的核心作用就是对象状态的保存与重建。 php反序列化:php客户端从文件中或网络上获得序列化后的对象字节流后,根据字节流中所保存的对象状态及描述信息,通过反序列化重建对象。 简单来说,序列化就是把实体对象状态按照一定的格式写入到有序字节流,当要用到时就通过反序列化来从建对象,恢复对象状态,这样就可以很方便的存取数据和传输数据。 序列化例子: <?php class test{ public $name = 'lu'; private $name2 = 'lu'; protected $name3 = 'lu'; } $test1 = new test(); $object = serialize($test1); print_r($object); ?> 最后输出: O:4:"test":3:{s:4:"name";s:2:"lu";s:11:"testname2";s:2:"lu";s:8:"*name3";s:2:"lu";} 注意:序列化对象时