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

郑州 互联网 公司网站国内最新的新闻

郑州 互联网 公司网站,国内最新的新闻,led 网站建设,微信搜索推广文章目录 一、文件包含概述二、low2.1 源码分析2.2 通关分析 三、medium3.1 源码分析3.2 通关思路 四、high4.1 源码分析4.2 通关思路 五、impossible 一、文件包含概述 文件包含是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(i…

文章目录

  • 一、文件包含概述
  • 二、low
    • 2.1 源码分析
    • 2.2 通关分析
  • 三、medium
    • 3.1 源码分析
    • 3.2 通关思路
  • 四、high
    • 4.1 源码分析
    • 4.2 通关思路
  • 五、impossible

一、文件包含概述

  文件包含是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include()require()include_once()require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)。

  与文件包含有关的函数:

  • include():只有代码执行到该函数时才会包含文件进来,发生错误时只给出一个警告并继续向下执行。
  • include_once():和 include()功能相同,区别在于当重复调用同一文件时,程序只调用一次。
  • require():只要程序执行就包含文件进来,发生错误时会输出错误结果并终止运行。
  • require_once():和 require()功能相同,区别在于当重复调用同一文件时,程序只调用一次。

  相关的 php.ini 配置参数:

  • allow_url_fopen = on (默认开启)
  • allow_url_include = on (默认关闭)

二、low

2.1 源码分析

<?php// The page we wish to display
$file = $_GET[ 'page' ];?> 

  分析:用 GET 方法接收文件路径,然后将其包含进来。服务器包含文件时,无论文件是否是 PHP 文件,都会尝试当做 PHP 文件来执行。如果文件内容确实是 PHP 文件,则会正常执行并返回结果,如果不是则会将文件内容回显到网页中,所以文件包含漏洞常常会导致任意文件读取与任意命令执行。

2.2 通关分析

(1)查看页面,服务器期望用户的操作是点击下面的三个链接,服务器会包含相应的文件,并将结果返回。
在这里插入图片描述

知识点:服务器包含文件时,不管文件后缀是否是php,都会尝试当做php文件执行。

(2)尝试点下面三个链接,看看出现什么情况。可见,确实是点击三个文件,页面会显示不同的内容,同时,注意到,使用GET传参。
在这里插入图片描述

在这里插入图片描述

(3)既然page参数可以被控制,直接用相对路径,访问上两级文件夹下的 fi.php 文件,构造出 payload:http://192.168.92.1:32769/vulnerabilities/fi/?page=../../hackable/flags/fi.php

在这里插入图片描述

三、medium

3.1 源码分析

<?php// The page we wish to display
$file = $_GET[ 'page' ];// Input validation
$file = str_replace( array( "http://", "https://" ), "", $file );
$file = str_replace( array( "../", "..\"" ), "", $file );?> 

  分析:代码增加了 str_replace 函数对 page 参数进行了过滤。将 http://https://替换为阻止远程包含漏洞,将../..\ 替换为阻止用相对路径访问文件。

知识点:使用str_replace函数是极其不安全的,因为可以使用双写绕过替换规则。例如page=htthttp://p://时,str_replace函数会将http://删除,于是page=http://,成功执行远程命令。

3.2 通关思路

  直接双写绕过,payload:http://192.168.92.1:32769/vulnerabilities/fi/?page=..././..././hackable/flags/fi.php
在这里插入图片描述

四、high

4.1 源码分析

<?php// The page we wish to display
$file = $_GET[ 'page' ];// Input validation
if( !fnmatch( "file*", $file ) && $file != "include.php" ) {// This isn't the page we want!echo "ERROR: File not found!";exit;
}?> 

  分析:使用 fnmatch 根据指定的模式来匹配文件名或字符串。该函数将检查 page 参数开头必须是否是 file,若是服务器才会去包含相应的文件。

知识点:只能包含file开头的文件,看似安全,我们依然可以利用file协议绕过防护策略。

4.2 通关思路

  使用file协议绕过,貌似file协议只支持绝对路径。

五、impossible

<?php// The page we wish to display
$file = $_GET[ 'page' ];// Only allow include.php or file{1..3}.php
if( $file != "include.php" && $file != "file1.php" && $file != "file2.php" && $file != "file3.php" ) {// This isn't the page we want!echo "ERROR: File not found!";exit;
}?> 

  分析:Impossible级别的代码使用了白名单机制进行防护,page参数必须为“include.php”、“file1.php”、“file2.php”、“file3.php”之一,彻底杜绝了文件包含漏洞。

http://www.tj-hxxt.cn/news/471.html

相关文章:

  • 西宁解封最新通知长春网站优化指导
  • 网页制作软件visual东莞网站推广行者seo08
  • 宿迁做网站 宿迁网站建设关键词seo排名优化如何
  • 旅游网站做模板素材外链代发2分一条
  • 安县建设局网站关联词有哪些类型
  • 微信h5页面制作教程seo优化设计
  • 爱站小工具北京效果好的网站推广
  • muse cc 做网站怎样在网上推广
  • 文军seoseo顾问服务 乐云践新专家
  • 网站推广的最终目的是什么国际新闻最新消息10条
  • 网页游戏排行榜斗地主网站seo关键词排名优化
  • bluehost能放哪些网站seo服务靠谱吗
  • 怎么做免费的网站地推拉新app推广接单平台免费
  • 做网站教程第一课长尾关键词排名工具
  • 房子信息查询网站入口seo网站排名软件
  • 威特视频网站建设方案唐山百度seo公司
  • 网站开发 验收在线建站网页制作网站建设平台
  • 党风廉政建设 杂志网站推推蛙贴吧优化
  • 销售型网站怎么做品牌营销策略案例
  • 网站打不开建设中哪的问题什么是网络营销?
  • 网站搭建怎么收费呀360渠道推广系统
  • 科技网站建设公司html+css网页制作成品
  • 龙华附近网站建设如何网站seo
  • 网站建设com软件开发公司排名
  • 医生做网站不违法百度如何添加店铺位置信息
  • jsp是否可以做网站百度推广售后客服电话
  • 免费建立个人网站seo标题优化关键词怎么选
  • 用固定ip做访问网站服务器实时热点新闻
  • 网站流量少的原因百度贴吧入口
  • 公司彩页设计制作哈尔滨seo优化培训