目录


本地文件包含简介

文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。

  • php中引发文件包含漏洞的通常是以下四个函数:
  1. include() 如果在包含的过程中有错,比如文件不存在等,则会直接退出,不执行后续语句。
  2. include_once() 如果出错的话,只会提出警告,会继续执行后续语句。
  3. require()
  4. require_once()

    其中require_once()include_once() 功能与require() 和 include() 类似。但如果一个文件已经被包含过了,则 require_once() 和 include_once() 则不会再包含它,以避免函数重定义或变量重赋值等问题。

当利用这四个函数来包含文件时,不管文件是什么类型,都会直接作为php文件进行解析。

测试代码:

<?php
$file = $_GET['file'];
include $file;
?>

在同目录下有个phpinfo.txt,其内容为<?php phpinfo(); ?>则只需要访问:

即可成功解析phpinfo


LFI本地文件包含01

题目URL:www。whalwl。site:8014

提示:flag在网站跟目录下!

找到上传:/upload.php

传一个图片马就好了。

LFI本地文件包含02

题目URL:www。whalwl。site:8028

提示:flag在服务器根目录。

后台账号密码: admin admin

首先经过特征比对,发现程序是凡诺企业网站管理系统 3.0

经过查阅资料发现存在包含漏洞

  • 漏洞文件:

    其中channel.php存在包含文件,include里有$dir $t_mpath $c_mcmodel $t_path四个变量
if (ism()) {
include($dir.$t_mpath.$c_mcmodel);
} else {
include($dir.$t_path.$c_cmodel);
}
?>
  • 跟踪变量发现$c_mcmodel变量可控且没有任何过滤。

/admin/cms_channel_add.php

  • 添加频道,上传图片马,频道模型填入图片马地址,地址前面加../../跳转到包含文件目录。

  • 最后在‘管理频道’里面打开到你添加的‘频道’链接:

最新文章

  1. 更改Visual Studio 2015 默认的语言设置
  2. java中的反射机制在Android开发中的用处
  3. tcpdump抓SQL[转]
  4. NOIP模拟赛 寻找
  5. JS判断设备的类型
  6. Java 程序员们值得一看的好书推荐[转载]
  7. php异常处理示例
  8. DirectSound学习(二)--流式缓冲区
  9. 1、C语言中的函数指针
  10. Java线程的相关方法
  11. Protel99se教程一:建立一个数据库文件
  12. git submodule 使用过程中遇到的问题
  13. wget下载整个网站
  14. Angularjs 滚动条控制
  15. mysql中general_log查询日志
  16. php文件处理函数
  17. document.getElementByClassName的兼容问题
  18. 报错:无法截断表 '某表',因为该表正由 FOREIGN KEY 约束引用
  19. POJ 1046
  20. super深究

热门文章

  1. Docker:Docker部署postgresql数据库
  2. Springboot:单元测试多模块项目不同模块组件不能@autowired问题
  3. Spring中的&lt;context:annotation-config/&gt;配置
  4. 被swoole坑哭的PHP程序员 (转)
  5. 按键控制LED灯-ESP32中断处理
  6. pxe+kickstart部署多个版本的Linux操作系统(上)---原理篇
  7. python使用笔记009--小练习
  8. SpringBoot通过Ajax批量将excel中数据导入数据库
  9. 5Java基础整理
  10. Mysql 基础用法