目录 . 文件包含的基本概念 . LFI(Local File Include) . RFI(Remote File Include) . PHP中的封装协议(伪协议).PHP的流式文件操作模式所带来的问题 1. 文件包含的基本概念 严格来说,文件包含漏洞是"代码注入"的一种."代码注入"这种攻击,其原理就是注入一段用户能控制的脚本或代码,并让服务器端执行."代码注入"的典型代码就是文件包含(File Inclusion),我的理解是叫"…
本文希望分享一些本地文件包含.远程文件包含.PHP的封装协议(伪协议)中可能包含的漏洞 相关学习资料 http://www.ibm.com/developerworks/cn/java/j-lo-longpath.html http://hi.baidu.com/casperkid/item/2baf952b13a9cd0e76272cb0 http://hi.baidu.com/txcbg/item/c9549af659b3de0dd99e725e http://cn2.php.net/man…
目录 0×01 文件包含简介 服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间.这意味着您可以创建供所有网页引用的标准页眉或菜单文件.当页眉需要更新时,您只更新一个包含文件就可以了,或者当您向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接). 文件包含函数 PHP中文件包含函数有以下四种: require() require_once() include() include_once() incl…
附录 L. 支持的协议/封装协议列表 目录 文件系统 Socket HTTP 和 HTTPS FTP 和 FTPS PHP 输入/输出流 压缩流 Secure Shell 2 音频流  以下是 PHP 内置用于文件系统函数例如 fopen() 和 copy() 的 URL 风格协议列表.除了这些封装协议之外,从 PHP 4.3 起,还可以用 PHP 脚本和 stream_wrapper_register() 写自己的封装协议. 文件系统 所有版本的 PHP.自 PHP 4.3.0 以来明确使用…
<?php /* * php://stdin 标准输入流 * php://stdout 标准输入流 * php://stderr 标准错误流 * php://output 只写的数据流 * php://fd 允许直接方位文件描述符 * * php://memory 允许读写临时数据 php://memory 和 php://temp 都是允许读写的临时数据,他俩的唯一区别是 php://memory 总是把数据存在内存中 * 而php://temp 会在内存达到预定义的限制后把数据存在临时文件中…
一.GRE简介 通用路由封装协议GRE(Generic Routing Encapsulation)可以对某些网络层协议(如IPX.ATM.IPv6.AppleTalk等)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议(如IPv4)中传输.GRE提供了将一种协议的报文封装在另一种协议报文中的机制,是一种三层隧道封装技术,使报文可以通过GRE隧道透明的传输,解决异种网络的传输问题. GRE实现机制简单,对隧道两端的设备负担小.GRE隧道可以通过IPv4网络连通多种网络协议的本地网…
这几天终于刷完了自己说是要刷完的那几道题,赶紧写几篇博客记录.. 1.  先看看这个网站:https://blog.csdn.net/qq_41289254/article/details/81388343 接下来直接上题: 1.http://123.206.87.240:8005/post/index.php?file=show.php 看源码和抓包都无果,根据题目提示,flag在index里,应该想到这里是要我们找到index.php的源码. 再看url里面file参数=show.php这里…
$url = "http://www.sina.com/"; function parse($url) { if(!($fp = @fopen($url, 'rb')) ){ exit('路径错误'); } $meta = stream_get_meta_data($fp); foreach(array_keys($meta) as $h){ $v = $meta[$h]; echo "".$h.": ".$v."<br/>…
针对静态方法有以下一些前提: 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自己的程序计数器PC,在任何时刻,一个虚拟机线程只会执行一个方法的代码,这个方法称为该线程的当前方法,如果这个方法不是native的,程序计数器就保存虚拟机正在执行的字节码指令的地址. 线程调用方法的时候会创建栈帧,用于保存局部变量表和操作数栈以及指向该类常量池的引用 静态方法虽然是同一个方法,但是不…
http://php.net/manual/wrappers.php 过程: 1. 开始通信 2. 读取数据 3. 写入数据 4. 结束通信 usage: * 读写文件系统 <?php $handle = fopen('file:///etc/hosts', 'rb'); while (feof($handle) !== true) { echo fgets($handle); } fclose($handle); ## # Host Database # # localhost is used…