实践开始:扒光“风流公子”官网的底裤
我这几天刚好闲下来,又开始手痒找点东西来拆解。老友老王天天在我耳边嚷嚷,说那个什么“风流公子”新开的官网,藏着最新的内测资格。他想进去抢号,但怎么都找不到入口。我寻思着,一个破官网能藏什么天大的秘密,我就撸起袖子干了,打算看看这帮搞游戏宣发的是不是又搞什么玄乎的把戏。
第一步,我直接摸进去开始狂戳。
我先是直接用浏览器摸进去,第一眼就盯着它那个登录按钮和公告栏狂戳。我发现这玩意儿加载得慢吞吞的,而且在特定区域会有一个诡异的延迟。我当下心里就有数了,知道这网站肯定不是什么大公司出品,多半是东拼西凑的框架。我立马敲开开发者工具,开始翻它的源代码。
核心秘密:他们为什么藏不住东西
这帮人特爱把关键的配置和不该显示的东西藏在最深处。我往里头一层层扒,发现他们CSS和JS的命名乱七八糟,文件名里甚至带着开发人员的名字,一看就是赶工出来的,而且是技术储备很差的那种团队。
我主要找的不是游戏内容,而是看他们怎么验证用户身份,还有那些所谓的“内测资格”链接到底是不是真货。我抓着几个可疑的接口地址就开始试探性地访问,用最土的办法,把那些请求参数一个个替换着往上怼,看它能返回什么稀奇古怪的东西。
我的心得:被坑惨了才会懂
为什么我对这种赶鸭子上架的网站门清?这得从我上次帮一个甲方做系统说起。那个老板,嘴上说要高并发高性能,结果给的预算只够请俩刚毕业的学生写代码。我当时顶着巨大的压力,用尽了所有土办法把系统勉强跑起来,但中间跟老板为了那点烂代码的版权问题闹得非常不愉快。他找了个借口,说我代码风格不统一,就把我踢出去了,连尾款都没结清。那段时间我心里憋着一股火,发誓以后碰到这种“表面光鲜,内里腐烂”的系统,一定要把它扒个精光,让大家都看清楚他们用的是什么货色。
揭穿过程:绕过前端的把戏
回到这个“风流公子”官网。果然不出我所料,他们所谓的安全验证,就是个笑话。我把实践的详细过程记录下来,给你们看看他们到底有多不走心:
- 他们搞了个假的回调地址,我一开始还真被骗了,花了将近一个小时追着这个假地址跑,心想他们这回是下了血本加密了吗?结果发现就是个空壳。
- 我后来直接绕过了前端的JS校验逻辑,因为那段代码写得太糙了,我直接把参数构造以最原始的方式扔给后台。
- 最让人拍案叫绝的是,我发现他们对“用户ID”的字段根本没做严格限制,我随便塞了几个特殊符号进去,系统居然直接报错,把数据库查询语句的头和尾都给吐出来了。这种低级错误,我得有几年没见过了。
这下好玩了。我把这些泄漏出来的信息截图保存下来,跟老王说,别找什么内测资格了,这网站就是个筛子,内测资格根本就是写在配置表里没删掉的字段。我教他如何构造一个简单的请求,直接获取到了几段未加密的配置信息,里面甚至包含了他们下一批服务器的IP地址和几个后台管理页面的入口。
这回实践就是验证了一句话:技术活,还是得找懂行的人来做,这种靠堆积开源组件拼凑起来的官网,看着唬人,一推就倒。等我下次找到更精彩的案例,再跟你们好好分享。