ctf-web23

web23

substr

substr:字符串截取;substr()函数可以用于字符串处理、数据清洗、数据挖掘等领域。

substr(abcdef,2,2)返回值cd

PHP intval() 函数

​编辑PHP 可用的函数

intval() 函数用于获取变量的整数值。

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

PHP 4, PHP 5, PHP 7

语法

int intval ( mixed $var [, int $base = 10 ] )

参数说明:

  • $var:要转换成 integer 的数量值。
  • $base:转化所使用的进制。

如果 base 是 0,通过检测 var 的格式来决定使用的进制:

  • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,
  • 如果字符串以 "0" 开始,使用 8 进制(octal);否则,
  • 将使用 10 进制 (decimal)。

返回值

成功时返回 var 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。

最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上, intval('1000000000000') 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。

字符串有可能返回 0,虽然取决于字符串最左侧的字符。

Token是什么?

所谓的Token,其实就是服务端生成的一串加密字符串、以作客户端进行请求的一个“令牌”

根据题目源代码

我们直接用源代码跑出结果

配置phpstudy,在vscode上配置php环境(推荐云之君若雨博主的文章,写的很详细)

在www下新建my-php文件夹,再创建一个.php文件,跑如下代码,

<?php
for($i=0; $i<10000; $i++){
    $token = md5($i);
    if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
        if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
            echo'token='.$i.'md5='.$token;
        }
    }  
}

在phpstudy里面打开网站,

在如下格式访问

得到结果

url/?token=####得到flag

相关推荐

  1. <span style='color:red;'>ctf</span>-<span style='color:red;'>web</span><span style='color:red;'>23</span>

    ctf-web23

    2024-03-17 07:38:02      44 阅读
  2. CTF - Web 干货

    2024-03-17 07:38:02       63 阅读
  3. ctf.show_web11

    2024-03-17 07:38:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 07:38:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 07:38:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 07:38:02       87 阅读
  4. Python语言-面向对象

    2024-03-17 07:38:02       96 阅读

热门阅读

  1. SDN网络简单认识(2)——南向接口

    2024-03-17 07:38:02       37 阅读
  2. LeetCode 222.完全二叉树的节点个数

    2024-03-17 07:38:02       45 阅读
  3. MATLAB中的数据类型,例如double,char,logical等。

    2024-03-17 07:38:02       46 阅读
  4. Android什么情况下会出现内存泄漏以及怎么解决?

    2024-03-17 07:38:02       47 阅读
  5. 远程调用初体验笔记

    2024-03-17 07:38:02       43 阅读