日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
公司短信平臺(tái)上的2萬(wàn)塊錢,瞬間就被黑光了...

 前兩天的中午像往常一樣熱,太陽(yáng)不知疲倦的在天空燃燒,熱跑了云彩和鳥(niǎo)兒,馬上就要點(diǎn)燃空氣和我的腦神經(jīng)。

圖片來(lái)自 Pexels

為我和電腦降溫的,是我簡(jiǎn)陋的書(shū)桌上的小電扇,沒(méi)有它的話,鍵盤太熱,我可能就要寫(xiě)不下去代碼了。

正在此時(shí),旁邊的手機(jī)嗡嗡的震了兩聲,對(duì)于手機(jī)從來(lái)不敢開(kāi)鈴聲的人來(lái)說(shuō),這個(gè)震動(dòng)的聲音實(shí)在太熟悉了,不用說(shuō),應(yīng)該是廣告短信,或者有人加我微信好友了。

因?yàn)槎绦盼一旧喜豢?,微信消息不?huì)有提示,只有加好友才有,由于最近有不少朋友看到我寫(xiě)的文章,所以每天加我好友的還是不少的,我都是找空閑時(shí)間統(tǒng)一處理。所以,我還是繼續(xù)寫(xiě)我的代碼,并沒(méi)有理會(huì)。

過(guò)了兩分鐘左右,嗡嗡~~震了兩聲,不慌,繼續(xù)寫(xiě)代碼。然后嗡嗡~~又震了兩聲,接著又震了兩聲,我心想,難道又是哪個(gè)大號(hào)轉(zhuǎn)了我文章了(心里略帶幾分得意),淡定,繼續(xù)寫(xiě)代碼。

這時(shí)候已經(jīng)持續(xù)了 6、7次,我剛要拿手機(jī)看一下,突然有事兒,趕緊開(kāi)門出去了,過(guò)了 20 分鐘回來(lái)之后,發(fā)現(xiàn)手機(jī)還在震。

我趕緊拿起來(lái)一看,未讀短信數(shù)量變多了(這是寫(xiě)文章的時(shí)候截的圖,真實(shí)數(shù)量比這個(gè)還要多一點(diǎn),被我點(diǎn)了)。

我去,怎么這么多短信了,我記得很清楚,本來(lái)才 820 多條(是在要對(duì)有強(qiáng)迫癥的朋友表示歉意,這圖可能讓你們看上去很不爽),原諒我不怎么看短信,一直堆積了 800 多條。

怎么半個(gè)小時(shí)的時(shí)間多了好幾十條,我打開(kāi)一看,都是某不知名公司的登錄驗(yàn)證碼消息,就像下面這樣:

【XX 科技】您正在短信登錄,驗(yàn)證碼 689287,請(qǐng)?jiān)?15 分鐘內(nèi)提交驗(yàn)證碼,切勿將驗(yàn)證碼泄露于他人。

瞬間讓我想到一個(gè)詞:短信轟炸機(jī)。What,有人轟炸我,我得罪什么人了嗎,于是大腦飛速運(yùn)轉(zhuǎn)。

難道是前幾天問(wèn)我問(wèn)題我沒(méi)及時(shí)回答,然后罵我,被我刪掉的那個(gè)兄弟吧?

難道是最近那個(gè)毫不客氣、素不相識(shí),上來(lái)就讓我?guī)退?shù)據(jù),我讓他滾的那個(gè)總監(jiān)吧?又或者是多次舉報(bào)我文章非原創(chuàng)的某大佬吧?

值得嗎,不至于嗎,這么勞神傷財(cái)費(fèi)力的,不至于吧。就在我思考的時(shí)間內(nèi),手機(jī)平靜了,不響了,事實(shí)證明我可能想多了,可能就是某短信轟炸機(jī)轟炸的時(shí)候定位錯(cuò)了目標(biāo),然后及時(shí)發(fā)現(xiàn)了,或者其他什么原因。

熟悉的場(chǎng)景

這個(gè)場(chǎng)景勾起了我的某些回憶,與此同時(shí),我對(duì) XX 科技表示深切的同情。幾年前,我所在的創(chuàng)業(yè)公司就被短信轟炸機(jī)利用,一晚上,短信平臺(tái)上的 2 萬(wàn)塊錢化為烏有。

短信轟炸機(jī):

手機(jī)短信轟炸機(jī)是批量、循環(huán)給手機(jī)無(wú)限發(fā)送各種網(wǎng)站的注冊(cè)驗(yàn)證碼短信的方法。一般一分鐘可以收到超過(guò)一百條短信,可用于測(cè)試手機(jī)的短信接收速度??梢允窃陔娔X運(yùn)行或是手機(jī)運(yùn)行。

比如有人想整你,花點(diǎn)錢買個(gè)短信轟炸或者電話轟炸(學(xué)名呼死你)的服務(wù),你的手機(jī)瞬間變成一個(gè)高頻振動(dòng)器或者循環(huán)鈴聲播放器,輕則讓你手機(jī)發(fā)燙,重則直接沒(méi)電關(guān)機(jī)。

現(xiàn)在的短信平臺(tái)很多,比如騰訊、阿里、華為什么的一大堆,而且都有防盜刷等功能,當(dāng)時(shí),不知道老板從哪個(gè)渠道找到的一個(gè)短信平臺(tái),具體名字已經(jīng)不記得了,畢竟已經(jīng)好幾年了。

當(dāng)時(shí),那個(gè)平臺(tái)好像是充 2 萬(wàn),送 5000,所以老板直接充了兩萬(wàn),按照幾分錢一條短信計(jì)算,以當(dāng)時(shí)公司業(yè)務(wù)體量來(lái)看,用到公司倒閉可能都用不完。

那時(shí)候,經(jīng)過(guò)幾個(gè)月的艱苦奮戰(zhàn),開(kāi)發(fā)的產(chǎn)品順利上線,但是沒(méi)有推廣,正在進(jìn)行最后的線上測(cè)試,只是公司內(nèi)部人測(cè)試,還有認(rèn)識(shí)的一些朋友用用,順道幫忙測(cè)試一下,眼看著就要開(kāi)始大范圍推廣了。

某晚夜黑風(fēng)高,老板突然打電話過(guò)來(lái),說(shuō)他收到了短信平臺(tái)費(fèi)用預(yù)警通知,顯示余額所剩不多,讓我趕緊登錄看一下是什么情況。

當(dāng)我進(jìn)入頁(yè)面的那一刻,我驚呆了,已用 4 萬(wàn)多條,剩余幾千條了。

趕緊給客服打電話詢問(wèn)情況,其實(shí)到這一刻的時(shí)候,我們還沒(méi)意識(shí)到是系統(tǒng)安全漏洞被利用了,客服解釋說(shuō)這個(gè)賬號(hào)確實(shí)是一直在發(fā)短信,短信內(nèi)容是驗(yàn)證碼相關(guān)的,并且現(xiàn)在還在持續(xù)發(fā),詢問(wèn)是否要先把服務(wù)停掉。

什么?還在持續(xù)的發(fā)?那趕緊先停了再說(shuō),于是讓客服操作先把服務(wù)停了。

當(dāng)時(shí)我也是初入互聯(lián)網(wǎng),并不知江湖如此險(xiǎn)惡,團(tuán)隊(duì)也是草臺(tái)班子,也都沒(méi)想到會(huì)出現(xiàn)這種問(wèn)題。

當(dāng)我冷靜下來(lái)開(kāi)始思考并且到搜索引擎搜索相關(guān)問(wèn)題的時(shí)候,我找到了短信轟炸機(jī)的這個(gè)概念。

短信轟炸機(jī)最喜歡利用具有安全漏洞的開(kāi)放平臺(tái)的短信發(fā)送接口了,比如注冊(cè)、登錄接口。

而我們的網(wǎng)站確實(shí)由于沒(méi)做驗(yàn)證碼發(fā)送的防護(hù)措施,導(dǎo)致漏洞產(chǎn)生,從而被利用了,說(shuō)到底,還是當(dāng)時(shí)能力不到位。

到現(xiàn)在為止我也不知道當(dāng)時(shí)我們這個(gè)還沒(méi)推廣的小產(chǎn)品是怎么被盯上,然后被利用的。

有說(shuō)可能是短信平臺(tái)方有內(nèi)鬼,把客戶信息賣給第三方平臺(tái),或者就是自產(chǎn)自銷,短信快點(diǎn)兒用完,就可以趕緊續(xù)費(fèi)了呀。

還有說(shuō)是短信轟炸平臺(tái)會(huì)黑掉這些正常的短信平臺(tái),然后找到使用方,進(jìn)而利用。

還有說(shuō),他們就是全網(wǎng)掃這種 Register、Login 等類似的 URL,掃通了就收集起來(lái),進(jìn)一步處理,并發(fā)現(xiàn)其中可以被利用的。

但具體是哪種,我也不知道,反正就是你不做好防護(hù),就得被利用。

事故現(xiàn)場(chǎng)和防護(hù)處理

這其實(shí)就是安全漏洞了,只不過(guò)比較低級(jí),低級(jí)到什么程度了呢?就是你在注冊(cè)頁(yè)面輸入手機(jī)號(hào)之后,點(diǎn)擊「發(fā)送驗(yàn)證碼」按鈕,只會(huì)判斷手機(jī)號(hào)是否合法和是否已經(jīng)注冊(cè),否則就直接發(fā)驗(yàn)證碼,這叫無(wú)知無(wú)畏。

這就相當(dāng)于是開(kāi)門迎客的狀態(tài),不需要權(quán)限,沒(méi)有調(diào)用頻次限制,也沒(méi)有什么 Token 之類的做校驗(yàn)。

當(dāng)時(shí)停掉短信服務(wù)之后,我馬上去看了后臺(tái)日志,發(fā)現(xiàn)有很多不同的 IP 在不斷的發(fā)來(lái)請(qǐng)求,喪心病狂的是,雖然短信服務(wù)已經(jīng)停了,但是請(qǐng)求還在不斷涌來(lái)。

看來(lái)這就是一套完整的自動(dòng)化流程,用 IP 池動(dòng)態(tài)代理,模擬發(fā)送請(qǐng)求,我們的短信接口只不過(guò)就是其中一個(gè)微不足道的免費(fèi)資源而已。

停掉服務(wù)

當(dāng)時(shí)已經(jīng)很晚了,快要凌晨了,但是大腦被刺激的很是清醒。首先想的就是別管怎么樣,先讓服務(wù)正??捎冒?。

但是請(qǐng)求還在一直過(guò)來(lái),于是,我先把 Nginx 服務(wù)關(guān)閉了,既然你這么智能,接口你訪問(wèn)不到,是不是就會(huì)停了。

停了 5 分鐘之后,我剛一重啟,馬上日志又被填滿,事實(shí)證明不是它不智能,是我弱智了。它才不管你,它就是一臺(tái)沒(méi)有感情的自動(dòng)請(qǐng)求機(jī)器。

更換接口地址

行吧,我認(rèn)慫可以吧,服務(wù)我又不能停,你這臺(tái)沒(méi)有感情的機(jī)器我也控制不了,那我先改了接口地址。

于是我把注冊(cè)、登錄的接口地址先給換了,這樣一來(lái),總能把短信服務(wù)先剝離開(kāi),先減輕點(diǎn)服務(wù)器壓力吧。但還是不敢把短信服務(wù)打開(kāi),萬(wàn)一它又發(fā)現(xiàn)我們的新接口了呢。

這時(shí)已經(jīng)很晚了,還好產(chǎn)品還沒(méi)有推廣,沒(méi)什么人用,就先睡了,等著第二天處理。

加圖形驗(yàn)證碼

第二天早早去公司,第一件事兒,就是看看那臺(tái)沒(méi)感情的機(jī)器是不是放過(guò)我們了,結(jié)果一看日志,心突然有點(diǎn)兒涼,我休息了一晚,它卻沒(méi)休息。

有同事說(shuō),要不換 IP 吧?大哥,人家請(qǐng)求的是域名,倒是可以換個(gè)二級(jí)域名,之前是 api.xxxx.com 作為后端服務(wù) domain 的,于是有同事開(kāi)始鼓搗換二級(jí)域名。

我這邊開(kāi)始加其他規(guī)則,首先想到的就是加驗(yàn)證,在發(fā)送驗(yàn)證碼之前加個(gè)圖形驗(yàn)證,當(dāng)時(shí)找到了「極驗(yàn)」提供的行為驗(yàn)證的方式。

就是大家經(jīng)??吹降南旅孢@種方式,在發(fā)送驗(yàn)證碼之前先讓用戶完成行為校驗(yàn),基本上可以把機(jī)器人阻擋在外,而且集成很簡(jiǎn)單。

但是,咨詢了一下費(fèi)用,當(dāng)時(shí)就被勸退了,當(dāng)時(shí)是年費(fèi) 5 萬(wàn),不知道現(xiàn)在多少錢了。

圖形驗(yàn)證碼也不錯(cuò),關(guān)鍵是不用花錢啊,于是找了開(kāi)源代碼,做了圖形驗(yàn)證碼。當(dāng)時(shí)為了更加安全,讓機(jī)器更難破解,當(dāng)時(shí)做了 6 位字母、數(shù)字組合,并且干擾因素加的很足。

事實(shí)證明不僅能放防機(jī)器,還能防人,很多同事做測(cè)試的時(shí)候表示經(jīng)常很難辨認(rèn)出來(lái)。于是改成了 4 位,并且降低了干擾因素。

有了這次教訓(xùn),當(dāng)我看到 12306 一步步升級(jí)驗(yàn)證碼難度的時(shí)候,我能體會(huì)到 12306 的無(wú)奈和內(nèi)心的彷徨。

限制訪問(wèn)頻次

加了圖形驗(yàn)證碼是第一步,還不行,萬(wàn)一被繞過(guò)了,畢竟自動(dòng)識(shí)別驗(yàn)證碼也只是增加了門檻,如果真有人想搞你,還是攔不住的。

限制單個(gè)手機(jī)號(hào)的驗(yàn)證碼請(qǐng)求頻次,5 分鐘內(nèi)只允許發(fā)送三次,一小時(shí)內(nèi)超過(guò) 9 次就限制 24 小時(shí)不允許發(fā)送。

除了限制手機(jī)號(hào)的頻次外,還限制單個(gè) IP 的請(qǐng)求頻次,規(guī)則是一樣的。

設(shè)置黑名單

但是對(duì)方使用的是動(dòng)態(tài) IP 池,可能不會(huì) 5 分鐘內(nèi)連續(xù)請(qǐng)求。通過(guò)日志分析,發(fā)現(xiàn)這段時(shí)間內(nèi)共有幾百個(gè) IP在發(fā)請(qǐng)求過(guò)來(lái),于是把這段時(shí)間內(nèi)單 IP 請(qǐng)求超過(guò) 10 次的全部加入黑名單。

并且 4 小時(shí)單 IP 請(qǐng)求超過(guò) 8 次的都加入黑名單。當(dāng)然這些規(guī)則都是通過(guò)觀察日志得到了,當(dāng)然最終的科學(xué)依據(jù)是「拍腦袋」。

之后有請(qǐng)求過(guò)來(lái),先看 IP 是否在黑名單中,如果在,就直接拒絕。

其他方式

除了以上措施外,還有其他的一些防護(hù)方式。

比如在用戶進(jìn)入前端頁(yè)面(登錄或注冊(cè)頁(yè))的時(shí)候生成一個(gè)或者請(qǐng)求一個(gè) Token,然后請(qǐng)求的時(shí)候?qū)?Token 做校驗(yàn),你可以寫(xiě)一些比較復(fù)雜的算法邏輯在里面。

當(dāng)然這也只是增加了門檻而已,如果被掌握了流程,還是一樣會(huì)被利用。

舊的域名接口也一直保留著,倒要看看它會(huì)請(qǐng)求多久,過(guò)了差不多 8、9 天吧,請(qǐng)求才消失。

最后

安全問(wèn)題也是互聯(lián)網(wǎng)開(kāi)發(fā)中很重要的方面,但是經(jīng)常被開(kāi)發(fā)人員忽視。細(xì)思極恐,如果是在產(chǎn)品剛推廣的時(shí)候出現(xiàn)問(wèn)題,那對(duì)用戶的傷害真的是極大的。

有一些初創(chuàng)公司就是因?yàn)槟承┌踩┒?,直接?dǎo)致公司關(guān)門大吉。大廠更是面臨風(fēng)險(xiǎn),很多實(shí)力雄厚的羊毛黨就是利用漏洞來(lái)薅羊毛的,比如前段時(shí)間某大商城由于優(yōu)惠券漏洞被薅了幾千萬(wàn)。

只要有利可圖,就有被利用的風(fēng)險(xiǎn),安全問(wèn)題,還需謹(jǐn)慎對(duì)待。

作者:風(fēng)箏

編輯:陶家龍

出處:轉(zhuǎn)載自微信公眾號(hào)古時(shí)的風(fēng)箏(ID:gushidefengzheng)


分享名稱:公司短信平臺(tái)上的2萬(wàn)塊錢,瞬間就被黑光了...
標(biāo)題鏈接:http://www.5511xx.com/article/djieeeg.html