范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

代码中被植入了恶意删除操作,太狠了

  背景
  在交接的代码中做手脚进行删库等操作,之前只是网上听说的段子,没想到上周还真遇到了,并且亲自参与帮忙解决。
  事情是这样的,一老板接手了一套系统,可能因为双方在交接时出现了什么不愉快的事情,对方不提供源代码,只是把生产环境的服务器打了一个镜像给到对方。
  对方拿到镜像恢复之后,系统起来怎么也无法正常处理业务,于是就找到我帮忙看是什么原因。经过排查,原来交接的人在镜像中做了多处手脚,多处删除核心数据及jar包操作。下面来给大家细细分析排查过程。排查过程
  由于只提供了镜像文件,导致到底启动哪些服务都是问题。好在是Linux操作系统,镜像恢复之后,通过history命令可以查看曾经执行了哪些命令,能够找到都需要启动哪些服务。但服务启动之后,业务无法正常处理,很多业务都处于中间态。
  原本系统是可以正常跑业务的,打个镜像之后再恢复就不可以了?这就奇怪了。于是对项目(jar包或war)文件进行排查,查看它们的修改时间。
  在文件的修改时间上还真找到了一些问题,发现在打镜像的两个小时前,项目中一个多个项目底层依赖的jar包被修改过,另外还有两个class文件被修改过。
  于是,就对它们进行了重点排查。首先反编译了那两个被修改过的class文件,在代码中找到了可疑的地方。
  在两个被修改的类中都有上述代码。最开始没太留意这段代码,但直觉告诉我不太对,一个查询业务里面怎么可能出现删除操作呢?这太不符合常理了。
  于是仔细阅读上述代码,发现上述红框中的代码无论何时执行最终的结果都是id=1。你是否看出来了?问题就出在三目表达式上,无论id是否为null,id被赋的值都是1。看到这里,也感慨对方是用心了。为了隐藏这个目的,前面写了那么多无用的代码。
  但只有这个还不是什么问题,毕竟如果只是删除id为1的值,也只是删除了一条记录,影响范围应该有限。
  紧接着反编译了被修改的jar包,依次去找上述删除方法的底层实现,看到如下代码:
  原来前面传递的id=1是为了配合where条件语句啊,当id=1被传递进来之后,就形成了where 1=1的条件语句。这个大家在mybatis中拼接多条件语句时经常用到。结果就是一旦执行了上述业务逻辑,就会触发删除T_QUART_DATA全表数据的操作。
  而T_QUART_DATA表中是用于存储触发定时任务的表达式,到这里也就明白了,为啥前面的业务跑不起来,全部是中间态了。因为一旦在业务逻辑中触发开关,把定时任务的cron表达式全部删除,十多个定时任务全部歇菜,业务也就跑步起来了。
  找到了问题的根源,解决起来就不是啥事了,由于没有源代码,稍微费劲的是只能把原项目整个反编译出来,然后将改修改地方进行了修改。又起波折
  本以为到此问题已经解决完毕了,没想到第二天又出现问题了,项目又跑不起来了。经过多方排查和定位,感觉还有定时任务再进行暗箱操作。
  于是通过Linux的crontab命令查看是否有定时任务在执行,执行crontab -e或crontab -l,还真看到有三个定时任务在执行。跟踪到定时任务执行的脚本中,而且明目张胆的起名deleteXXX:
  而在具体的脚本中,有如下执行操作:
  这下找到为什么项目中第二天为啥跑不起来了,原来Linux的定时任务将核心依赖包删除了,并且还会去重启服务。
  为了搞破坏,真是煞费苦心啊。还好的是这个jar包在前一天已经反编译出来了,也算有了备份。小结
  原本以为程序员在代码中进行删库操作或做一些其他小手脚只是网络上的段子,大多数人出于职业操守或个人品质是不会做的。没想到这还真遇到了,而且对方为了隐藏删除操作,还做了一些小伪装,真的是煞费苦心啊。如果有这样的能力和心思,用在写出更优秀的代码或系统上或许更好。
  当然,不知道他们在交接的过程中到底发生了什么,竟然用这样的方式对待昔日合作的伙伴。之所以写这篇文章,是想让大家学习如何排查代码问题的过程,毕竟用到了不少知识点和技能,但这并不是教大家如何去做手脚。无论怎样,最起码的职业操守还是要有的,这点不接受反驳。
  作者:程序新视界
  链接:https://juejin.cn/post/7140066341469290532

提醒备孕夫妻女性出现这5个症状,说明排卵期来了,需抓紧机会排卵期,指的是女性每个月卵巢排出卵子的时间。对于健康女性来讲,自青春期开始,卵巢就会分泌出卵子。一般排卵期是从下次月经第1天开始算起,倒数14天就属于排卵日,排卵之前的前5天以及后化身影子学生,只为理解儿童来源中国教育新闻网影子学生在与孩子们一起玩游戏。彭奕供图在幼儿园中,我们尝试以儿童的哲学构建儿童的活动。因此,教师对儿童的哲学的理解是活动开展的基础。如何带领教师体悟儿童的哲学?影心率体温双测,功能完美且强大,想要这样的华为FreeBudsPro2吗哈喽小伙伴们大家好,今天厂长我又来评测了,今天给大家带来的新品是华为FreeBudsPro2,这个耳机我已经使用几天了,今天我就从多个角度给大家介绍下这款新耳机究竟有哪些升级亮点?如果梅西想回归,巴萨希望他接受这三个条件由于他的合同将在夏天到期,巴塞罗那非常有兴趣将梅西带回诺坎普,为他的最后一支舞。阿根廷人希望在欧洲至少再踢一个赛季,据报道,他正在考虑回到加泰罗尼亚首府。然而,据世界报报道,巴塞罗升级版村BA又赢麻了!为体育旅游树立典范昨晚,在贵州省黔东南州台江县台盘村举行的首届美丽乡村篮球联赛总决赛打响,尽管受天气下雨的影响,最后的总冠军之争被延期举行,但现场2万名球迷露天观赛民族风满满的啦啦队表演以及富有乡村杰拉德凯恩是最好的传球手之一,他有一个重大决定要做直播吧3月27日讯在英格兰20击败乌克兰后,利物浦传奇杰拉德称赞了三狮军团前锋哈里凯恩。他表示,在俱乐部层面,凯恩需要做出一个重大决定。杰拉德这样谈道背身拿球并不容易,凯恩是世界上日本的综艺节目为什么那么变态随着媒体娱乐产业的发展,也为了满足人们越来越丰富的娱乐需求,各类真人秀应运而生,说到综艺节目,韩国和日本是极具代表性的两个国家,可以说是花样丰富并且层出不穷,可能与本国的文化和社会人生之路两件事的选择,暗示了高加林的结局,一点不值得同情由阎建钢执导,改编自路遥人生,陈晓李沁领衔主演的年代情感剧人生之路正在热播。该剧凭借着超高的主演人气和耐人寻味的剧情设计,一经播出便收视登顶。人生之路两件事的选择,暗示了高加林的结导演麦大杰病逝享年66岁,曾拍流星花园2,两个哥哥都是演员3月27日,香港著名导演麦大杰被证实已经病逝,享年66岁。麦大杰生前曾执导流星花园2,制片人柴智屏发文透露死讯,去年7月曾跟麦大杰聚餐,当时他的声音宏亮活力充沛,还在大声唱歌,怎么李现扶完热巴扶杨紫许凯晒腹肌宋轶吃一口金晨带饭微博之夜趣事多头条创作挑战赛3月25日2022年度微博之夜在上海举行。各路明星争奇斗艳百花齐放,为我们奉献了一场视觉盛宴的同时还有一些很有趣的事儿,一起来看看吧!关键词杨幂佟丽娅金晨宋轶许凯欧阳北美票房疾速追杀4票房口碑双飘红中新社洛杉矶3月26日电(记者张朔)好莱坞明星基努里维斯主演的疾速追杀4(JohnWickChapter4)首映票房与口碑双飘红,轻松赢得最新一期北美周末票房排行榜冠军。据票房统计
儿童电动牙刷有没有危害?三大危害弊端分析伴随着儿童电动牙刷市场的快速发展,也有更多家长准备给自家宝宝小孩子小朋友购买儿童电动牙刷使用。但网上关于儿童电动牙刷的伤牙问题也频繁出现,很多家长吐槽买到的产品刷不干净,而且还出现产妇不用跑医院,在家就能实现远程胎心监护,侨乡准妈妈可实时享受就医指导4月4日,青田县妇计中心开始实施远程胎心监护检查项目,免费为全县高危孕产妇发放远程胎心监护仪,让产妇不用跑医院,只要一台远程胎心监护仪,通过手机APP就能在家实现胎心监护,得到产科茅台立春酒合成期限与立夏酒冲榜结束时间重合,用户如何抉择?这段时间吧,巽风里面也没啥好说的,这两天关于那个投票的活动,大家随机参与一下就行,毕竟巽风用户投票最后占比非常低,决定权还是在专家组那里,至于最近很多都在讨论投票给谁的问题,小编认网传加班怼领导当事人任免文件?中电科回应网传中国电科员工痛批领导强制安排加班一事持续发酵,4月6日早间,网络上开始流传一份疑似中国电子科技集团有限公司2023年1月任免文件的截图,指向上述事件当事人的具体职务。这份成文于2023年夏天会比2022年热吗?答案是会!原标题2023年夏天会比2022年热吗?答案是会!具体原因是由于温室效应不断积累,势必将会造成地气系统吸收与发射的能量不平衡,因此能量就会不断在地球气体中产生累积,因而会导致地球的马斯克的Starship星舰将何时成为人类登陆火星的利器?马斯克要发射的星舰计划是非常雄心勃勃的,这个项目的成功概率很难进行准确的预测。但是,SpaceX已经在许多方面证明了其技术实力和创新能力,这使得人们对该公司能否成功实现星舰计划充满山寨币币价分析系列(4)元宇宙项目MANA让我们从对代币Mana这可能是您开始听到术语Metaverse的第一个代币。它前途光明吗?首先,什么是MANA?让我们认识一下他。Decentraland是一个建立在以太坊区块链上金星宇宙中的地狱行星金星的基本信息金星的位置和大小,与地球的比较金星是距离太阳最近的内行星之一,它位于地球的内侧。金星的平均距离为1。08个天文单位(AU),而地球的平均距离为1AU。金星的大小也与地兰帕德清楚我要扮演的角色,我不需要关于未来的答案直播吧4月7日讯在被任命为切尔西临时主教练后,兰帕德在接受俱乐部官方采访时,谈到了自己回归的感受,他表示,自己非常清楚要扮演的角色。兰帕德这样谈道就我要扮演的角色而言,我是非常清楚CHATGPT疯狂使用,难道让人类躺着赚钱?CHATGPT在各个网站已经出现疯狂下载的情况,各种APP工具改为自己工具,大量收费。而且使用者不管你大脑有没有水平有水平也不用人脑去想,依托CHATGPT完成你需要的答案。没有水厦大团队携手合作伙伴取得重要进展东南网4月6日讯(福建日报记者林霞)近日,记者从厦门大学获悉,该校电子科学与技术学院张丹教授团队与黑龙江大学化学化工与材料学院许辉教授团队合作,在有机光子器件及其集成技术领域取得突