php本地文件包含 Writeup

Posted jzking121

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php本地文件包含 Writeup相关的知识,希望对你有一定的参考价值。


目录


本地文件包含简介

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

  • 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
image


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变量可控且没有任何过滤。
    image

/admin/cms_channel_add.php

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

image

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

本文来自博客园,作者:jzking121,转载请注明原文链接:https://www.cnblogs.com/jzking121/p/15144416.html

以上是关于php本地文件包含 Writeup的主要内容,如果未能解决你的问题,请参考以下文章

Bugku_CTF Writeup 之 文件包含(60)

安全-php://filter文件包含分析(bugku)

2021.12掌控安全擂台赛 部分WriteUp

2019 DDCTF 部分writeup

Dvwa writeup

Bugku Writeup —文件上传2(湖湘杯)