当前位置:网站首页>攻防世界——lottery
攻防世界——lottery
2022-08-08 07:53:00 【隐身的菜鸟】
进入题目后,这是一个彩票平台
输入7个数字购买,对应数字相同就可以获得奖励
如果要获得flag,就要用$9990000来买
抓个包看看,发现api.php是对文件进行POST发送
从题目下载附件,查看api.php
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数
以下代码,只是截取了进行数字对比的部分
function buy($req){
require_registered();
require_min_money(2);
$money = $_SESSION['money']; #存储money
$numbers = $req['numbers'];
$win_numbers = random_win_nums();
$same_count = 0;
for($i=0; $i<7; $i++){
#如果传入到numbers==win_numbers那么same_count加一
if($numbers[$i] == $win_numbers[$i]){
$same_count++;
}
}
switch ($same_count) {
case 2:
$prize = 5;
break;
case 3:
$prize = 20;
break;
case 4:
$prize = 300;
break;
case 5:
$prize = 1800;
break;
case 6:
$prize = 200000;
break;
case 7:
$prize = 5000000;
break;
default:
$prize = 0;
break;
}
$money += $prize - 2;
$_SESSION['money'] = $money;
response(['status'=>'ok','numbers'=>$numbers, 'win_numbers'=>$win_numbers, 'money'=>$money, 'prize'=>$prize]);
}
关键函数是 if($numbers[$i] == $win_numbers[$i]){$same_count++;}这里并没有对传入到参数进行限制,而且这里的用的是"=="弱相等而不是"==="强相等
===比较两个变量的值和类型;==比较两个变量的值,不比较数据类型。
在php中,如果bool和"任何其他类型"比较,"任何其他类型"会转换为bool。
在PHP中当转换为 boolean 时,以下值被认为是 FALSE :
(1) 布尔值 FALSE 本身
(2) 整型值 0(零)
(3)浮点型值 0.0(零)
(4)空字符串,以及字符串 “0”
(5)不包括任何元素的数组(注意,一旦包含元素,就算包含的元素只是一个空数组,也是true)
(6)不包括任何成员变量的对象(仅 PHP 4.0 适用)
(7)特殊类型 NULL(包括尚未赋值的变量)
(8)从空标记生成的 SimpleXML 对象
(9)所有其它值包括-1都被认为是 TRUE (包括任何资源)
弱比较,所以可以输入ture使其和数字相等让每个数字的点都为true,就可以让7个数字都吻合。
{"action":"buy","numbers":[true,true,true,true,true,true,true]}
边栏推荐
- [Optimized scheduling] Based on particle swarm to realize economic scheduling optimization of microgrid under grid-connected model with matlab code
- vscode格式化代码快捷键
- 不一样的“能ping通不能上网”解决方法
- 蓝牙Mesh的基本概念
- 易语言设置多个热键
- 冒泡排序
- At the time of data intelligence, Jiuzhang Yunji DataCanvas won the "Most Investment Value Company"
- Cortex M0软件复位方法
- 论文翻译:《6mAPred-MSFF:基于多尺度特征融合机制预测跨物种DNA N6-甲基腺嘌呤位点的深度学习模型》
- 两个联动的可扩展收起的textView的简单实现
猜你喜欢
随机推荐
Database_JDBC
djanjo fourth training
剑指offer专项突击版第23天
regular expression
【优化调度】基于粒子群实现并网模型下微电网的经济调度优化附matlab代码
ES日期时间格式化参数集锦
数控机床工作平台位置伺服系统的的数学建模与仿真
HCIA --- VLAN实验报告
不一样的“能ping通不能上网”解决方法
lvm建立逻辑卷
VSCode代码格式化快捷键及保存时自动格式化
大文件上传时如何做到 秒传?
Datawhale社区黑板报(第二期)
vscode格式化代码快捷键
使用Jlink RTT工具打印日志
包含漏洞-读写文件以及执行命令
Zigbee常见错误问题汇总
Source Insight 4.0 安装过程及简单使用
阿里巴巴需求交付全流程职责划分
两个联动的可扩展收起的textView的简单实现