PHP文件包含

今天突然发现这个东西有好多奇怪的东西,特别写一下记一下

测试用的1.txt及phpinfo.php内容都是phpinfo()

截断:

好多.和好多./截断:这里不测试了,摘自代码审计一书,5.2可用,5.3修复

windows下240个‘.‘可截断,同样的‘.‘加‘/‘也是240个截断,linux下2038个‘/.‘才可截断

%00截断:%00截断在5.2版本可以使用,5.3及以后版本被修复,如果开启了GPC或者addslashes了,同样无法截断

5.2版本:

5.2版本 addslashes:

被添加了‘\‘,GPC也是一样,这里不测试了

5.3版本:

‘?‘截断:只有在远程包含才能使用,注意本地包含无法使用,不受版本限制

5.5版本:

包含:

普通包含:没啥好说的,就是普通包含

php://input包含:在allow_url_include为On的情况下可用,不受版本限制

5.5版本:

php://filter/read=convert.base64-encode/resource= 方法读取源码:基本都能用,路径被限制则失败

5.5版本:

5.5版本 限制路径:

就这么多,若有错误请留言!

时间: 2024-10-12 09:35:02

PHP文件包含的相关文章

本地文件包含被污染的SSH日志GetShell

0x01 前言 我们在渗透测试过程中常常会通过文件包含来getshell,一般会包含恶意代码的图片.污染UA或referer等HTTP头从而包含访问日志等等.这里介绍另外一种包含的方法,通过污染SSH日志的方式. 0x02 SSH日志污染 使用测试环境为ubuntu(10.168.33.174),ssh日志默认是在/var/log/auth.log下,默认其它用户是有read的权限的.然后我们直接执行ssh '<?php system($_GET[c]);?>'@10.168.33.174可以

c++ 头文件包含问题-include&amp;class

http://blog.csdn.net/jiajia4336/article/details/8996254 前向声明概念(forward declaration) 在程序中引入了类类型的B.在声明之后,定义之前,类B是一个不完全类型(incompete type),即已知B是一个类型,但不知道包含哪些成员.不完全类型只能以有限方式使用,不能定义该类型的对象,不完全类型只能用于定义指向该类型的指针及引用,或者用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数. 前向声明应用场景 当你

文件包含学习笔记

文件包含分为远程包含,本地包含两种,主要是include,require等函数带来的包含漏洞例如我在本机PHPstudy上创建两个文件,include.php和text.txt,内容如下 //include.php <?php $i=$_GET['t']; include($i); ?> //text.txt <?php phpinfo(); ?> 然后访问网址http://127.0.0.1/include/include.php?t=text.txt 可以看到text.txt中

文件包含漏洞

本实验是基于DVWA和sqli-labs的实验环境 实验平台搭建:下载Wamp集成环境,并下载DVWA和sqli-labs和压缩包解压至wamp\www的目录下.安装只要注意Wamp环境的数据库名和密码对应即可. 0x01:文件包含漏洞 服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. 这也算官方的解释吧,用个人的话说,通过浏览器.url地址或者是一个参数的变量的内容,可以通过修改这些url

《黑马程序员》预处理指令(宏定义、条件编译、文件包含)(C语言)

宏定义的基本概念 ●  预处理指令都是以#开头 ●  预处理指令分为三种 1.宏定义 定义格式:#define  宏名   参数 2.条件编译 #if 条件语句     statement1; #elif 条件语句     statement2; #else     statement3; #endif       //条件编译结束必须加上此条语句,否则statement3以下的所有语句都将默认为不编译 3.文件包含 ●  预处理指令在代码翻译成0和1之前进行 ●  预处理指令的位置是可以写的

PHP文件包含语句 include、include_once、require、require_once

1.include() include(/path/to/filename) include()语句将在其被调用的位置处包含一个文件.包含一个文件与在该语句所在位置复制制定文件的数据具有相同内容的效果. 使用include()时可以忽略括号. 可以根据条件来执行include()语句.在条件语句中使用include()有个怪现象,它必须包围在语句块大括号中,或者用其他语句包围符括起来. 2.include_once() include_once(filename) include_once()函

phpmyadmin任意文件包含漏洞分析(含演示)

0x01 漏洞描述 phpmyadmin是一款应用非常广泛的mysql数据库管理软件,基于PHP开发. 最新的CVE-2014-8959公告中,提到该程序多个版本存在任意文件包含漏洞,影响版本如下: phpMyAdmin 4.0.1 – 4.0.10.6 4.1.1 – 4.1.14.7 4.2.1 – 4.2.12 0x02 补丁分析 看到bobao.360.cn上提到了这个漏洞,于是我写个小分析吧,给渗透正没思路的人一个思路,也给学习代码审计的朋友一点资料. 前几天phpmyadmin出了个

PHP文件包含漏洞总结

0x00 前言 PHP文件包含漏洞的产生原因是在通过PHP的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入.最常见的就属于本地文件包含(Local File Inclusion)漏洞了. 我们来看下面一段index.php代码: if ($_GET['func']) { include $_GET['func']; } else { include 'default.php'; } 程序的本意可能是当提交url为http:

shell--11、Shell 文件包含

和其他语言一样,Shell 也可以包含外部脚本.这样可以很方便的封装一些公用的代码作为一个独立的文件. Shell 文件包含的语法格式如下: . filename   # 注意点号(.)和文件名中间有一空格 或 source filename 实例 创建两个 shell 脚本文件. test1.sh 代码如下: #!/bin/bash url="http://www.baidu.com" test2.sh 代码如下: #!/bin/bash #使用 . 号来引用test1.sh 文件

渗透测试技术之本地文件包含

概述 通过加强对本地文件包含(LFI)渗透测试技术的研究,可以帮助渗透测试人员和学生在未来的渗透测试过程中,识别和测试LFI漏洞.在Web程序渗透测试中,利用本文中的技术发现的LFI漏洞是渗透测试中的典型漏洞.此外,在本文中提到有一些技术,在CTF大赛中也经常被利用. 什么是本地文件包含(LFI)漏洞? LFI允许攻击者通过浏览器包含一个服务器上的文件.当一个WEB应用程序在没有正确过滤输入数据的情况下,就有可能存在这个漏洞,该漏洞允许攻击者操纵输入数据.注入路径遍历字符.包含web服务器的其他