当前位置:首页 > 电脑常识 > 正文

论PHP常见缝隙第二弹:常见的包罗缝隙 8090安适门户

11-20 电脑常识

包罗一般也就分为LFI、RFI,即local file inclusion和remote file inclusion

LFI

对付LFI的话,因为很多都限制了包罗的后缀结尾必需为.php,Include ($a.'.php')例如这种的。
所以我们想包罗我们的图片马儿的话,那么就需要截断后面的这.php

00截断。需要gpc off && php<5.3.4

长文件名截断。横竖这个我很少告成。

转换字符集造成的截断。这个对包罗的话根基用不上。

还有一些cms限制包罗的后缀必需为.php,例如下面一段简单的代码

$include_file=$_GET[include_file]; if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" ) { require( $include_file ); }

对通报过来的截取了后面4个字符,然后判断是不是“.php”,如果是“.php”才进行包罗。
这里可以用zip(或者phar)协议嘛(固然这个也是找laterain学的,哈哈)。

首先新建一个1.php,里面随便写个phpinfo吧,
然后压缩成.zip,接着把zip的名字改成 yu.jpg。
然后把这个.jpg上传上去 然后包罗: 

对付一些LFI找不到上传图片的处所的话,也有很多牛发过了一些不能上传图片LFI的技巧,各类包罗日志、环境变量啥的,这里我就也不久不多说了。

RFI

下面再来说RFI。

如果能RFI的话,那么就是最便利的了。包罗长途文件,或者又是php://input data啥的,各类伪协议。

但是也都知道RFI最大的限制条件就是需要allow_url_include on且“变量前不决义路径”或者“常量”。
而Allow_url_include默认都是off,那么无论是allow_url_include on 还是“变量前无路径”或者“常量”,那都是RFI的硬伤。

这里介绍一种在allow_url_include off的情况下也能rfi的技巧,但是告成率也并不太高。

首先在php.ini里看一下allow_url_include:

; Whether to allow include/require to open URLs (like or ftp://) as files. allow_url_include = Off

翻译过来就是,允许包罗url,例如、ftp://之类的协议。当off的时候必定就是不允许去包罗这样的协议。

这里我们先来测试一下:

<?php include($_GET[yu]);

首先 allow_url_include && allow_url_fopen 都为on的时候

告成RFI。

然后 allow_url_include 为 on,allow_url_fopen 为off

直接包罗长途文件掉败。这时候我们用一下伪协议尝尝。

再次告成rfi。

当allow_url_include && allow_url_fopen 为off的时候。

伪协议掉败。

而包罗文件的方法:

URL file-access is disabled in the server configuration,说明也不允许包罗。

然而,必定还有不少人记得很久以前的阿谁星外无可执行目录的时候,操作长途挪用cmd继续提权。
阿谁操作的是共享文件,然后在星外主机上来执行。
那么这里我们也尝尝:

包罗共享文件告成!这里只本地测试了,没具体测试长途。
但是由于445的原因 可能根基都掉败。

转载自:,在原文根本上有简单整理改削。

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/12601.html

博客主人杰米WWW
杰米博客,为大家提供seo以及it方面技巧喜欢的朋友收藏哦!
  • 11365文章总数
  • 1378073访问次数
  • 建站天数
  •