一、萨拉热窝事件
今天早上各种 IT 群里疯传,改改前端就能提前看个税退/补多少,不用等到 3 月 1 号了。
原来是前端老哥,只加了个 disabled,去掉之后就放行了。
不少同行跃跃欲试,先睹为快。
。。。。。。
估计个税的程序员老哥要紧急修复了。
二、一战结束
午休后前方传来最新消息,bug 被修复了。
哥们儿点进去一看,好家伙,network 干干净净,感情又在这欺负前端老哥?
disabled F12 直接删,这加个弹窗还是可以一样绕过去啊。
好奇心又被勾起来了
果然人在干坏事的时候还是比较专心的。
三、二战开始
1、先查一下按钮的事件调用
没有对应的js 文件,这里应该是被eval 、new function 之类的,代码混淆。
2、但是在network 里找到了 transferPage
而且 url 就是,懂得都懂。
3、点击去的话里面全是编译之后的代码,很长啊~
4、还找到了我们前面按钮的类,调用了 gotoPage 方法
5、复制下来看gotoPage
源码的大概逻辑就在这里,前端老哥加了个时间的判断。
问题到这里就很明显了,想办法把源码改了,把这个判断弄失效,不就可以又混进去了么。
四、又要通关了
这里要用到Sources 的 Overrides
线上源码调试,谁用谁知道
1、先把当前页面的 js 文件 transferPage添加到 Override content 里面
新增的需要本地弄一个文件夹,就是把这个js文件放本地
2、开启Enable Local Overrdes, 这里文件有紫色小圆点就说明本地替换成功了。
可以在文件开始新增个 alert,看看有没有生效
3、搜索 "gotoPage\ ,把判断逻辑改成 false。有的老哥用的$$,我这里还会报错,就换成 && 了。
4、再重复早上的步骤,去掉 disabled 就可以进去了
不晓得个税的前端老哥还好么。。。
后端老哥给个校验吧
一次很经典的线上编译后源码调试实战