攻防世界: lottery

攻防世界: lottery

本文知识点:

php中==符号的规则:

当使用==符号的时候,php不会要求两个变量的类型一致,他会先进行隐式的类型转换,然后进行比较。下面是具体的转换规则:

当整形与字符串比较,先将字符串转换为整型再比较

当布尔型与字符串比较,先将字符串转换为布尔型再比较

题目描述

如下图,可以看到游戏是一个猜数字的游戏:也就是我们会自己选择7个数字,然后上传给服务器,服务器返回7个数字给我们,比较每个位子上的数字,如果相等则得钱,相等的个数越多,钱越多。但是每次会消耗两美刀。

附件代码阅读

主要就是buy这个函数,这个函数回得到我们上传的7个数字,同时生成7个数字,然后依次比较他们来决定我们能够获得多少钱。

其中服务端生成数字的函数如下:

可以看到,其实服务端生成的是一个长度为7的字符串。

伪造数据

通过burp siute抓包来伪造数据,因为网页端上传的输入是一个字符串,我们不能控制,使用工具将上传的数字改为布尔型变量就能大概率得到相等的判定。

前面提到字符串和布尔类型的比较,会先将字符串转换为布尔,当字符串不是'0'的时候,其转换的值就为true,因此我们能够不断这样操作得到钱,最后能够买flag!!!

相关推荐
u0111026754 分钟前
WebP 转成 PNG 后为什么更大?图片格式转换不等于压缩
前端·javascript·vue.js
万少5 分钟前
Qoder sonus模型 20分钟,复刻 马斯克 飞天汽车
前端·后端·算法
java1234_小锋27 分钟前
【技术专题】HTML5 网页技术 - HTML5 列表标签
前端·html·html5
强二小哥帅28 分钟前
Kotlin 协程复习笔记
前端
不可能片场31 分钟前
工程实践 原子替换改了 ctime 怎么修
前端·electron
暧暧内含光32 分钟前
HTTP 文件传输体系全解:从协议标头、OSS 架构到流媒体分片
前端
静默回滚33 分钟前
浏览器能显示AVIF,却导不出一张AVIF
前端
itmigrate37 分钟前
PHP 导出大 CSV 时内存溢出的一次排查
android·开发语言·php
小皮虾38 分钟前
小程序全局状态还能这么简单?只需初始化一次,页面自动同步
前端·javascript·微信小程序
用户8186180280042 分钟前
RESTful API 设计规范与版本演进
前端