成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼中被植入了惡意刪除操作,太狠了!

開發(fā)
在交接的代碼中做手腳進(jìn)行刪庫(kù)等操作,之前只是網(wǎng)上聽說的段子,沒想到上周還真遇到了,并且親自參與幫忙解決。

背景

在交接的代碼中做手腳進(jìn)行刪庫(kù)等操作,之前只是網(wǎng)上聽說的段子,沒想到上周還真遇到了,并且親自參與幫忙解決。

事情是這樣的,一老板接手了一套系統(tǒng),可能因?yàn)殡p方在交接時(shí)出現(xiàn)了什么不愉快的事情,對(duì)方不提供源代碼,只是把生產(chǎn)環(huán)境的服務(wù)器打了一個(gè)鏡像給到對(duì)方。

對(duì)方拿到鏡像恢復(fù)之后,系統(tǒng)起來怎么也無法正常處理業(yè)務(wù),于是就找到我?guī)兔词鞘裁丛颉=?jīng)過排查,原來交接的人在鏡像中做了多處手腳,多處刪除核心數(shù)據(jù)及jar包操作。下面來給大家細(xì)細(xì)分析排查過程。

排查過程

由于只提供了鏡像文件,導(dǎo)致到底啟動(dòng)哪些服務(wù)都是問題。好在是Linux操作系統(tǒng),鏡像恢復(fù)之后,通過history命令可以查看曾經(jīng)執(zhí)行了哪些命令,能夠找到都需要啟動(dòng)哪些服務(wù)。但服務(wù)啟動(dòng)之后,業(yè)務(wù)無法正常處理,很多業(yè)務(wù)都處于中間態(tài)。

原本系統(tǒng)是可以正常跑業(yè)務(wù)的,打個(gè)鏡像之后再恢復(fù)就不可以了?這就奇怪了。于是對(duì)項(xiàng)目(jar包或war)文件進(jìn)行排查,查看它們的修改時(shí)間。

在文件的修改時(shí)間上還真找到了一些問題,發(fā)現(xiàn)在打鏡像的兩個(gè)小時(shí)前,項(xiàng)目中一個(gè)多個(gè)項(xiàng)目底層依賴的jar包被修改過,另外還有兩個(gè)class文件被修改過。

于是,就對(duì)它們進(jìn)行了重點(diǎn)排查。首先反編譯了那兩個(gè)被修改過的class文件,在代碼中找到了可疑的地方。

圖片

可疑代碼

在兩個(gè)被修改的類中都有上述代碼。最開始沒太留意這段代碼,但直覺告訴我不太對(duì),一個(gè)查詢業(yè)務(wù)里面怎么可能出現(xiàn)刪除操作呢?這太不符合常理了。

于是仔細(xì)閱讀上述代碼,發(fā)現(xiàn)上述紅框中的代碼無論何時(shí)執(zhí)行最終的結(jié)果都是id=1。你是否看出來了?問題就出在三目表達(dá)式上,無論id是否為null,id被賦的值都是1。看到這里,也感慨對(duì)方是用心了。為了隱藏這個(gè)目的,前面寫了那么多無用的代碼。

但只有這個(gè)還不是什么問題,畢竟如果只是刪除id為1的值,也只是刪除了一條記錄,影響范圍應(yīng)該有限。

緊接著反編譯了被修改的jar包,依次去找上述刪除方法的底層實(shí)現(xiàn),看到如下代碼:

圖片

刪除操作

原來前面?zhèn)鬟f的id=1?是為了配合where?條件語(yǔ)句啊,當(dāng)id=1?被傳遞進(jìn)來之后,就形成了where 1=1?的條件語(yǔ)句。這個(gè)大家在mybatis中拼接多條件語(yǔ)句時(shí)經(jīng)常用到。結(jié)果就是一旦執(zhí)行了上述業(yè)務(wù)邏輯,就會(huì)觸發(fā)刪除T_QUART_DATA全表數(shù)據(jù)的操作。

而T_QUART_DATA表中是用于存儲(chǔ)觸發(fā)定時(shí)任務(wù)的表達(dá)式,到這里也就明白了,為啥前面的業(yè)務(wù)跑不起來,全部是中間態(tài)了。因?yàn)橐坏┰跇I(yè)務(wù)邏輯中觸發(fā)開關(guān),把定時(shí)任務(wù)的cron表達(dá)式全部刪除,十多個(gè)定時(shí)任務(wù)全部歇菜,業(yè)務(wù)也就跑步起來了。

找到了問題的根源,解決起來就不是啥事了,由于沒有源代碼,稍微費(fèi)勁的是只能把原項(xiàng)目整個(gè)反編譯出來,然后將改修改地方進(jìn)行了修改。

又起波折

本以為到此問題已經(jīng)解決完畢了,沒想到第二天又出現(xiàn)問題了,項(xiàng)目又跑不起來了。經(jīng)過多方排查和定位,感覺還有定時(shí)任務(wù)再進(jìn)行暗箱操作。

于是通過Linux的crontab命令查看是否有定時(shí)任務(wù)在執(zhí)行,執(zhí)行crontab -e或crontab -l,還真看到有三個(gè)定時(shí)任務(wù)在執(zhí)行。跟蹤到定時(shí)任務(wù)執(zhí)行的腳本中,而且明目張膽的起名deleteXXX:

圖片

刪除腳本

而在具體的腳本中,有如下執(zhí)行操作:

圖片

刪除核心依賴包

這下找到為什么項(xiàng)目中第二天為啥跑不起來了,原來Linux的定時(shí)任務(wù)將核心依賴包刪除了,并且還會(huì)去重啟服務(wù)。

為了搞破壞,真是煞費(fèi)苦心啊。還好的是這個(gè)jar包在前一天已經(jīng)反編譯出來了,也算有了備份。

小結(jié)

原本以為程序員在代碼中進(jìn)行刪庫(kù)操作或做一些其他小手腳只是網(wǎng)絡(luò)上的段子,大多數(shù)人出于職業(yè)操守或個(gè)人品質(zhì)是不會(huì)做的。沒想到這還真遇到了,而且對(duì)方為了隱藏刪除操作,還做了一些小偽裝,真的是煞費(fèi)苦心啊。如果有這樣的能力和心思,用在寫出更優(yōu)秀的代碼或系統(tǒng)上或許更好。

當(dāng)然,不知道他們?cè)诮唤拥倪^程中到底發(fā)生了什么,竟然用這樣的方式對(duì)待昔日合作的伙伴。之所以寫這篇文章,是想讓大家學(xué)習(xí)如何排查代碼問題的過程,畢竟用到了不少知識(shí)點(diǎn)和技能,但這并不是教大家如何去做手腳。無論怎樣,最起碼的職業(yè)操守還是要有的,這點(diǎn)不接受反駁。

責(zé)任編輯:趙寧寧 來源: 程序新視界
相關(guān)推薦

2020-09-24 11:38:52

Java開發(fā)代碼

2009-07-02 10:16:34

北京外國(guó)語(yǔ)大學(xué)惡意代碼黑客

2021-07-12 05:31:15

微信微信電腦版掃碼登錄

2013-11-08 10:08:25

2009-08-16 21:09:15

惡意代碼湖南科技大學(xué)研究生處木馬

2010-06-22 10:34:49

聯(lián)想官方網(wǎng)站惡意軟件驅(qū)動(dòng)

2011-03-07 14:46:38

2021-04-12 17:44:49

APKPure惡意軟件Android

2015-03-04 13:42:01

2014-08-01 10:56:10

惡意軟件掃描器竊取數(shù)據(jù)

2020-04-20 14:36:08

惡意軟件攻擊比特幣

2011-03-30 11:17:34

2024-12-30 10:36:34

2010-06-10 10:22:56

Chrome 源代碼擴(kuò)展同步

2010-09-03 12:01:17

SQL刪除

2018-08-10 04:40:56

2024-09-02 15:56:32

2023-06-26 11:49:29

2021-12-07 14:21:18

惡意程序惡意軟件網(wǎng)絡(luò)攻擊
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日批日韩在线观看 | 男女黄网站 | 欧美一区二 | 亚洲激情专区 | 成人午夜在线 | 亚洲 欧美 另类 综合 偷拍 | 国产精品国产三级国产aⅴ中文 | caoporn国产精品免费公开 | 亚洲精品第一国产综合野 | 91av在线免费观看 | 亚洲精品99999 | 欧美一区二区三区在线视频 | jav成人av免费播放 | 日韩乱码av | 韩国av一区二区 | 国产精品久久久久久一区二区三区 | 日韩欧美国产一区二区 | 国产高清在线精品 | 在线一区 | 91精品久久久久久久久久 | 91精品国产一区二区 | 精品一二区 | 午夜影院在线 | 欧美a√| 亚洲天堂av在线 | 久久久久久久国产精品视频 | 综合成人在线 | 天天搞天天搞 | 国产精品国色综合久久 | 国产中文字幕在线 | 看羞羞视频免费 | 国产福利91精品一区二区三区 | 综合久久网 | 一级黄色片免费在线观看 | 免费观看羞羞视频网站 | 在线观看午夜视频 | 天天干天天爱天天操 | 亚洲精品在线观 | 日韩中文字幕免费在线观看 | av黄色在线播放 | 九九伦理片 |