[ACTF2020 新生赛]BackupFile 1

1.根据题目,获取备份文件
利用disreach扫备份文件,找到index.php.bak,下载该备份文件
分析备份文件
这里涉及到一个知识点,在 PHP 的弱类型比较中,有两种比价符号——““、”=”。
其中==
在比较时候是先将字符串类型转化为相同,再比较;===
是先判断两种字符串的类型是否相等,再比较
在==
转换字符串的过程中,遵循如下原则:
- 当字符串开始部分不存在数值的时候,会将该字符串转换为数值 0。如
var_dump('abc' == 0)
,结果为True
- 当字符串开始部分有合法数值的时候,会将该字符串转换为合法数值。如
var_dump('123abc' == 123)
,结果为True
- 当字符串中包含 e 或者 E 时,会将其识别为科学计数法。如
var_dump('0e12asda' == 0)
,结果为True
所以该题中,我们要使得$key == $str
,且$key
不能为字符,故可以构造Payload:?key=123
,得到 Flag
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2020-10-22 *crypto*--- 复盘--网鼎杯青龙组2020-you_raise_me_up