上个周末,Flexi Parking 挂了。雪兰莪司机用来交停车费、清罚单的那个 app,突然打不开。到 6 月 30 日,原因清楚了:Flexi Parking 被入侵,整套系统被打趴。
一个自称 “MelayuSpiritual” 的组织把系统的一部分换成了一张黑屏、一个 root shell,还有一句很直白的话:他们已经进去了,数据库里有 “700 万用户”。他们是怎么进去的,才是每个老板该认真看的部分。用的是网上最老的两招。
Flexi Parking 是什么 app,这次被黑到底发生了什么
Flexi Parking 由 LITS Sdn Bhd 开发,是本地用户最多的停车 app 之一。它覆盖 MBSA、MBPJ、MBSJ 等地方政府的路边泊车、停车场和罚单缴费,光是 Play Store 上就有数千条评价。它一停摆,人们交不了停车费,地方政府也只好暂停执法。
事情正是这样发生的。用户反映 app 用不了,有人发现存好的罚单不见了。公司把它称为 “意外的服务中断”,并在停摆期间免收停车费。
停摆期间 Flexi Parking 网站连接超时。来源:najoe on Substack
攻击者没有藏着手法。他们自己那张页面写得明明白白:“Proof of concept. SQL injection. Unauthenticated arbitrary file upload.” 终端画面显示他们是用 root 身份操作,也就是最高权限,而那台服务器据报还在用 2021 年编译的 Linux 内核。他们那句马来文最扎心:“common vulnerability pun korang tak aware?” 大意是,连这么常见的漏洞你们都不知道?
一点保留:700 万这个数字是攻击者单方面的说法。公司至今没有确认是否真的有数据被复制出去。
Flexi Parking 是怎么被黑的:两个又老又防得住的漏洞
这两个漏洞都不高明。这才是该让你不安的地方。
SQL injection 是指攻击者把数据库指令打进一个普通输入框,而 app 没有把它当成纯文本,直接拿去执行。它在网页安全问题榜的前几名待了二十多年。修法叫参数化查询,每个现代框架都内置,用对了不多花一分钱。
未经认证的文件上传(unauthenticated file upload)是指陌生人不用登录就能传上一个文件,通常是一小段脚本,然后服务器把它跑起来。这一招一成,整台机器就归他们了。修法同样是标准动作:检查上传的人是谁、检查文件类型、绝不执行传上来的文件。
我们的看法直说:这不是什么高深的攻击。这些是任何安全编码课第一周就会讲的漏洞。一个用户量这么大的软件栽在这上面,说明团队赶着上线、跳过测试,之后也没回头补。2021 年的内核就是证据。
停车 app,还有你自己的 app,真的安全吗
一个停车 app 的安全程度,等于背后那支团队的水平。作为用户,你修不了他们的服务器,但你可以不再重复用同一个密码,也可以少存点余额在里面。老板要问的问题更尖锐:如果一个几百万用户的 app 都带着这种洞上线,你委托开发的软件干净的机会有多大?我们帮马来西亚公司审查软件的经验是,项目一赶、一交接,最先出状况的就是输入处理和补丁更新。毛病很少稀奇古怪,都是上线之后没人认领的琐碎工作。
这次事故还撞上了马来西亚政府网站被攻击的一波,其中包括卫生部网站,NACSA 把原因指向没有更新的软件。攻击者不同、漏洞不同,根子一样:系统建好之后就没人管了。
马来西亚企业老板该做什么
你不需要变成安全专家。你只需要向做软件、维护软件的那一方问清楚三件事:
- 上线前做一次安全测试。 渗透测试(VAPT)会用攻击者的方式去戳你的 app。费用不高,比出事之后便宜太多。如果你的开发商从来没做过,那是值得深究的警讯。
- 问他们怎么处理输入和上传。 称职的开发者能用大白话讲清楚参数化查询和文件校验。讲不清楚,就继续追问。
- 持续打补丁,持续盯着。 软件不是一次性工程。服务器和依赖库要更新,这也是基本服务器加固的核心。2026 年还在跑 2021 年的内核,是个糟糕的选择。
还有合规这一层。在马来西亚修订后的 PDPA 之下,姓名、电话号码、车牌资料外泄,正是监管方现在会去查的那类事件,我们在马来西亚企业常犯的云端安全错误那篇里谈过。
在 Gotchaa Lab,我们做项目一开始就把这些基本功放进去,也帮现有系统查同样的洞。如果你不确定自己的 app 扛不扛得住攻击者刚刚对 Flexi Parking 用过的那一套,找我们聊聊。老实评估,不推销。
本文仅供一般参考,不构成专业的网络安全或法律意见。事件细节根据公开报道整理,后续可能随更多信息确认而有所改变。




