【CTF】web01对方不想和你说话,并向你扔了一段代码

本文分析了一段涉及CTF挑战的代码,重点讲解了extract()函数的作用,如何导入数组到符号表,并解释了isset()、trim()和file_get_contents()函数的用法。通过代码分析,指出当trim未指定字符列表时,如何导致变量$c清空,揭示了获取挑战flag的可能途径。
摘要由CSDN通过智能技术生成

在这里插入图片描述
分析这段代码
首先了解每个函数的功能和用法!


函数Extract:
定义和用法
extract() 函数从数组中将变量导入到当前的符号表。

该函数使用数组键名作为变量名,使用数组键值作为变量值。针对数组中的每个元素,将在当前符号表中创建对应的一个变量。

该函数返回成功设置的变量数目。

语法
extract(array,extract_rules,prefix)

参数 描述

array 必需。规定要使用的数组。

extract_rules 可选。extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突。对不合法和冲突的键名的处理将根据此参数决定。

prefix 可选。该参数规定了前缀。前缀和数组键名之间会自动加上一个下划线。
在这里插入图片描述


在这里插入图片描述
再看下面的代码
isset() 函数用于检测变量是否已设置并且非 NULL。
If判断,$a的值,发现整个代码中没有出现$a,所以我们可以get提交一个a=111,这个时候就有

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值