網(wǎng)站又被攻擊,我心態(tài)崩了
之前很多朋友在我的網(wǎng)站上只是小打小鬧,很多 “攻擊” 根本算不上 “攻擊”,充其量就是欺負我網(wǎng)站剛上線,找找 Bug 而已。改了幾十個 Bug 后,發(fā)現(xiàn)常見的攻擊其實就這么幾類:
1. XSS 腳本注入
最低級的就是在輸入框中直接輸入惡意 JavaScript 腳本,如果沒有對此類文本進行特殊處理,那么會直接在前端執(zhí)行,從而影響網(wǎng)站的運行,比如彈個框:

雖然前端很多富文本編輯器自帶了 XSS 處理,但終究是不保險的。所以我給所有用戶提交數(shù)據(jù)的后端接口補充了 XSS 過濾,保證返回給前端的數(shù)據(jù)已經(jīng)是 “相對正?!?的了。
比如下面的輸入,加載圖像時發(fā)生了錯誤,會顯示一個對話框:
<img?src="#"?onError="alert('魚皮')"?/>
經(jīng)過后端處理后,會被轉(zhuǎn)義成:
<img?src="#"?/>
仔細掃了一下數(shù)據(jù)庫,光 XSS 的內(nèi)容就有上百條了,不愧是最主流、低成本的攻擊手段:

2. 提交非法數(shù)據(jù)
非法數(shù)據(jù)有很多種,比如灌水、無意義的內(nèi)容:


又或者繞過前端的字?jǐn)?shù)限制,直接調(diào)用后臺接口來提交超長內(nèi)容,從而在展示數(shù)據(jù)時影響頁面的加載時間、甚至導(dǎo)致頁面崩潰。比如下面這貨,在搜索框里塞了幾 MB的數(shù)據(jù):

也是經(jīng)驗不足吧,我一開始真沒想到會有這種騷操作,看來還是得嚴(yán)格限制任何用戶提交的內(nèi)容。
唉,這種攻擊是最難防護的。人言可畏,要完全解決根本不可能,只能投入人力來管理了,也歡迎大家隨手舉報,給網(wǎng)站一個健康良好的生態(tài)環(huán)境。
3. 頻繁提交數(shù)據(jù)
就是瘋狂調(diào)后臺接口來插入無意義的數(shù)據(jù),比如有個同學(xué)一次性刷了幾千條舉報數(shù)據(jù)來舉報我,給我氣的不行。

所以還是要限制下每位用戶提交信息的數(shù)量呀!
雖然這類攻擊很溫和,但也是需要人工花時間來處理的,不僅耽誤我的時間,也會影響正常用戶的體驗。所以我在網(wǎng)站主頁右側(cè)添加了公告:即日起,本站禁止任何測試行為,違者直接永久封號!
反正一個微信號只能注冊一個用戶,亂搞的成本也是有限的。
但昨天晚上的攻擊就不是開玩笑了,有同學(xué)直接搞拒絕服務(wù)攻擊了,平均每分鐘調(diào)用我的接口 1000 萬次!?。?/p>
這如果沒有專業(yè)的防護,并發(fā)再高,也扛不住?。∷韵到y(tǒng)在那段時間完全掛掉了。
其實面對這種量級的 CC 或 DDOS 攻擊,不花錢一般是搞不定的,但對于我這樣一個完全免費、不賺錢的網(wǎng)站,完全承擔(dān)不起上高防護產(chǎn)品的費用啊!
而且這種攻擊的成本很低、也完全不需要什么技術(shù)含量,真的是防不勝防;即使你被攻擊了去找云服務(wù)商,只要損失金額不大、只要不報警,壓根兒沒人理你。所以當(dāng)時搞的我心態(tài)有點崩,覺得前途一片迷茫啊。
我真的很難想象,究竟是內(nèi)心多么黑暗、多么卑微的人,會去做這種事呢?
想想這種人真是可憐哈哈,如果用這點本事攻擊我的網(wǎng)站能給他帶來一絲慰藉,那我覺得也值了。

但是,你把我的網(wǎng)站攻破了、搞崩了,除了暴露了你內(nèi)心的丑陋,對我來說又有什么影響呢?反正我東西做了、代碼有了、經(jīng)驗漲了;再說網(wǎng)站本身也不賺錢,掛了就掛了唄,大不了我就在公眾號給大家分享面試題咯。
而且不會真的以為這點攻擊我就放棄了吧? 天真,我一個 23 歲的程序員大爺,我怕什么?!


如何用敏捷搞垮團隊?

逃離一線!從上海舉家回成都七年,現(xiàn)在怎么樣了?

聊聊索引失效的10種場景,太坑了
