XCTF1-web php
创始人
2024-04-11 02:38:28
0

场景一:simple_php

题目描述

小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。
在这里插入图片描述

进入场景

  1. 给了php代码,分析一下
    在这里插入图片描述
    GET传入两个参数a,b
    a=@a=@a=@_GET[“a”];其中的@是为了防止没有$_GET[‘a’]出现错误提示
    $a==0 and a:a等于0,且a是TRUE。php是弱语言,在执行关系运算“==”时要求运算符两边的数据类型必须一致,如果等号左边是字符串,会被强制转换为整型0,但字符串是TRUE。isnumeric(a :a等于0,且a是TRUE。php是弱语言,在执行关系运算“==”时要求运算符两边的数据类型必须一致,如果等号左边是字符串,会被强制转换为整型0,但字符串是TRUE。 is_numeric(a:a等于0,且a是TRUE。php是弱语言,在执行关系运算“==”时要求运算符两边的数据类型必须一致,如果等号左边是字符串,会被强制转换为整型0,但字符串是TRUE。isn​umeric(b) :is_numeric() 函数用于检测变量是否为数字或数字字符串。如果指定的变量是数字和数字字符串则返回TRUE,否则返回FALSE。

接收参数a存在,并且a存在,并且a存在,并且a==0可用.绕过(非数字都可绕过)

在这里插入图片描述
flag1获取,需要a为0 且为true
flag2获取,需要b不是数字或数字字符串,且值大于1234

参考链接:https://blog.51cto.com/u_15300891/3060354

场景二:easyphp

进入场景

在这里插入图片描述

  1. 很长一串,定位flag,发现要使key1和key2为true。
    往前看,key1要为1,需要变量a整数数值大于6百万,同时字符串长度小于等于3;变量b要md5加密后,后6位为8b184b
Intval()函数获取变量整数数值:Intval最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上, intval(‘1000000000000’) 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。这个有个应用就是在判断数值是不是回文上,如果参数为2147483647,那么当它反过来,由于超出了限制,所以依然等于2147483647。即为回文。
  1. 变量a可以使用科学计数法来绕过,1e3=100
    官网:https://www.php.net/manual/zh/function.intval.php
    在这里插入图片描述
  2. 变量b可以爆破出对应的明文
    在这里插入图片描述
    在这里插入图片描述
    变量b对应的结果是53724。

输入a,b变量值测试,回显no,说明变量a,b成功绕过,还剩变量c的绕过。
在这里插入图片描述

  1. 变量c是一个数组类型
    在这里插入图片描述
    使用json_decode()函数对变量c进行编码,返回数组类型。
    c数组中存在m,n两个键名,m的键值不能是数字且大于2022。
    在这里插入图片描述

n的键值是一个数组且长度为2的二维数组,随便输入一个二维数组给n键
在这里插入图片描述
5. 变量d
在这里插入图片描述
array_search() 函数在数组中搜索某个键值,并返回对应的键名。
三个等号也是等于的意思,与==相比的话,识别数字和字符类型。
foreach 循环用于遍历数组。foreach ($array as $key => $value){}每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,你将看到数组中的下一个键与值。

在这里插入图片描述

参考链接:https://blog.csdn.net/m0_56107268/article/details/127830960

PHP2

  1. 进入场景,什么都没有
    在这里插入图片描述
    御剑扫一下,只有一个index.php文件
    在这里插入图片描述
    直接访问index.php还是什么都没有
  2. 将php改为phps,尝试查看php源码
    在这里插入图片描述
    GET方式获取参数id,对id进行url解码后判断是否为admin
    要绕过,尝试对admin进行url加密
    在这里插入图片描述
    对admin进行二次加密
    在这里插入图片描述
    复制到url去访问
    在这里插入图片描述

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...