免費(fèi)的視頻api接口seo排名計(jì)費(fèi)系統(tǒng)
導(dǎo)語
??? 什么是 Web 安全?我又該如何入門學(xué)習(xí)它呢?學(xué)習(xí)過程中又應(yīng)注意哪些問題呢?...
??? 或許你的心中有著這樣的疑問、不過別著急,本文會為你一一解答這些問題。
正文
定義
Web 安全,顧名思義便是由保障 Web 應(yīng)用能夠持續(xù)安全運(yùn)行而衍生出的一個分支領(lǐng)域。
Web 應(yīng)用指的是一個網(wǎng)站的前端頁面到后端服務(wù),可以粗略的理解為一個網(wǎng)站及其配套的相關(guān)服務(wù),該領(lǐng)域中常見
漏洞有 SQL 注入漏洞,XSS 漏洞,CSRF 漏洞等等,漏洞種類多樣,趣味性強(qiáng),較為適合新手入門。
下面為你介紹 Web 安全方面的常見漏洞,以下講解主要從原理角度出發(fā),旨在幫助新手朋友更好的理解相關(guān)漏洞,具體技術(shù)細(xì)節(jié)暫不討論。
常見漏洞
SQL 注入(SQL Injection)
網(wǎng)站,也就是 web 應(yīng)用中往往會涉及到數(shù)據(jù)的查詢與修改,對數(shù)據(jù)進(jìn)行操作則需要用到 SQL 語言(結(jié)構(gòu)化查詢語言 (Structured Query Language) 簡稱 SQL,是一種特殊目的的編程語言)。
網(wǎng)站在使用 SQL 查詢數(shù)據(jù)時,用戶輸入的信息或提交的參數(shù)(比如你在使用百度時輸入的 “關(guān)鍵詞”,登錄某些網(wǎng)站時提交的賬戶密碼..)將會參與到 SQL 數(shù)據(jù)查詢的過程中,一旦用戶提交了有害數(shù)據(jù),便有可能對網(wǎng)站運(yùn)行產(chǎn)生危害。
將有害數(shù)據(jù) “注入” 到 SQL 查詢過程之中,這也正是 “SQL 注入” 得名的緣由。
SQL 注入漏洞往往會導(dǎo)致數(shù)據(jù)泄露,例如前些年爆出的沸沸揚(yáng)揚(yáng)的” 社工庫 ",” 人 rou" 搜索,全球數(shù)十億密碼泄露等事件,他們的背后或多或少有著 SQL 注入的影子。
SQL 注入的定義為:
當(dāng) Web 應(yīng)用向后臺數(shù)據(jù)庫傳遞 SQL 語句進(jìn)行數(shù)據(jù)庫操作時。如果對用戶輸入的參數(shù)沒有經(jīng)過嚴(yán)格的過濾處理,那么攻擊者就可以構(gòu)造特殊的 SQL 語句,直接輸入數(shù)據(jù)庫進(jìn)行執(zhí)行,獲取或修改數(shù)據(jù)庫中的數(shù)據(jù)。
XSS 跨站腳本攻擊(Cross-Site Scripting,XSS)
同樣是由于網(wǎng)站對于用戶的輸入內(nèi)容沒有進(jìn)行嚴(yán)格的過濾處理,一些惡意的腳本代碼被用戶的瀏覽器執(zhí)行而引發(fā)了 XSS 漏洞。
一個網(wǎng)站的呈現(xiàn)是基于 HTML,CSS,JS 等腳本語言的,瀏覽器的作用是什么?簡單來說便是將只有計(jì)算機(jī)才能 “讀懂”的腳本語言及代碼渲染成我們所看到的的圖像與文字。
這里以百度為例。在與架設(shè)著網(wǎng)站的服務(wù)器通信時,我們實(shí)際上收到的是使用 HTML 等語言編寫的源代碼,瀏覽器會將該源代碼 “翻譯”出來。
(瀏覽器將下方的源代碼 “翻譯” 成 “百度搜索” 的頁面)
如果我們能利用網(wǎng)站的某些缺陷,將自行構(gòu)造的惡意腳本代碼‘’注入” 到網(wǎng)站源代碼之中,在別的用戶在瀏覽網(wǎng)頁時,我們構(gòu)造的惡意代碼便會被瀏覽器 “翻譯” 出來,造成危害(Cookie 泄露,鍵盤記錄等),這便形成了 XSS 漏洞。
CSRF 跨站請求偽造(Cross Site Request Forgery)
該漏洞往往不直接攻擊網(wǎng)站服務(wù)器,而是冒充用戶在站內(nèi)的正常操作以達(dá)到攻擊目的。我們在與網(wǎng)站進(jìn)行交互操作時,絕大多數(shù)操作是基于瀏覽器與網(wǎng)站服務(wù)器的通信請求的,比如我們會在某些購物網(wǎng)站下商品訂單,給指定用戶轉(zhuǎn)賬,或者查詢自己的考試成績。
如果能夠在用戶沒有察覺的情況下,“悄無聲息” 通過瀏覽器偽造一些請求操作,進(jìn)而產(chǎn)生對用戶有害的攻擊行為,那么便形成了 CSRF 漏洞。
上文提到過,XSS 漏洞可以在用戶不知情的情況下執(zhí)行惡意操作,如果我們在 XSS 攻擊代碼中包含偽造好的特定請求呢?這便與 CSRF 漏洞不謀而合。所以,XSS 與 CSRF 常相配合使用,威力巨大。
防范 CSRF 漏洞,需要添加 token 或 referer 來防御,云影安全后續(xù)會對此進(jìn)一步講解。
DDOS 分布式拒絕攻擊 (Distributed Denial of Service)
起源于二十世紀(jì)九十年代,歷經(jīng)二十多年發(fā)展而經(jīng)久不衰,DDoS 攻擊已經(jīng)成為網(wǎng)絡(luò)安全領(lǐng)域影響最為深遠(yuǎn)的威脅之一。
嚴(yán)格地來講,DDOS 并不完全歸屬于 Web 安全的范疇,凡是對外提供服務(wù)的服務(wù)器或主機(jī)都存在被 DDOS 攻擊的風(fēng)險(xiǎn),但 DDOS 攻擊在 Web 領(lǐng)域較為常見且危害大,我們在這里加以講解。
那么什么是 DDOS 攻擊呢?如果多臺主機(jī)對目標(biāo)網(wǎng)站或服務(wù)器發(fā)送大量請求,超出了該網(wǎng)站或服務(wù)器的處理能力上限,導(dǎo)致服務(wù)癱瘓,這種行為便可以稱作 DDOS 攻擊。
舉一個較為經(jīng)典的例子,假設(shè)一個餐廳最多可以同時容納 50 人就餐,假設(shè)在極短時間內(nèi)該餐廳涌入成百上千的顧客,該餐廳的正常就餐秩序必然會受到毀滅性的沖擊。
DDOS 攻擊如今已發(fā)展出多種攻擊模式與手段,目前還沒有一個較為完美的應(yīng)對策略,關(guān)鍵點(diǎn)在于精心發(fā)動的 DDOS攻擊往往會利用合理的服務(wù)請求來占用過多的服務(wù)資源,難與正常用戶的請求相區(qū)分,從而使服務(wù)器無法處理合法用戶的指令。
方法論
孤帆終究要起航,俠客也要去闖蕩。在你開始踏上 Web 安全之路前,我們愿與你分享一些在探索學(xué)習(xí)中可能會有所幫助的心得與經(jīng)驗(yàn)。
1. 親手實(shí)踐
- 紙上得來終覺淺,絕知此事要躬行。
- 在學(xué)習(xí)漏洞原理或是利用技巧時,最好不要止步于只看懂技術(shù)文章。相關(guān)的介紹文章往往以講解思路為主,為保證文章整體的連貫性,部分技術(shù)細(xì)節(jié)會被忽略掉。例如程序的運(yùn)行環(huán)境,設(shè)備的網(wǎng)絡(luò)情況以及相關(guān)應(yīng)用組件的具體版本號。
- 然而對于初學(xué)者來說,這些技術(shù)細(xì)節(jié)同樣至關(guān)重要,如果沒有親手實(shí)踐過,親手復(fù)現(xiàn)出相同的漏洞或利用技巧,你永遠(yuǎn)不會接觸到那些被忽視的種種細(xì)節(jié)。而細(xì)節(jié)決定成敗,對漏洞利用過程的殘缺理解會對進(jìn)一步的學(xué)習(xí)探索造成難以估量的影響。
- 同時,動手操作也有利于鞏固對于所學(xué)知識的理解與記憶,加深印象。漏洞種類繁多,差異化的利用條件同樣決定著漏洞利用的成功與否,因此在動手實(shí)踐復(fù)現(xiàn)漏洞的同時,還需要完整的筆記記錄。
2. 構(gòu)建體系
- 什么是體系?體系的本質(zhì)是各個知識點(diǎn)的靈活串聯(lián)與應(yīng)用。在體系里,知識不再是孤零零散落在大腦各處信息點(diǎn),而是互相補(bǔ)充互相協(xié)作而成的系統(tǒng)化的有機(jī)整體。
- 其實(shí)這并不難理解。舉個簡單的例子,假如現(xiàn)在有一篇中文技術(shù)文檔放在面前,雖然我們并不是專業(yè)人士,但將這份文檔讀完還是可以做到的,但如果換一個不懂中文的外國人來看這篇文章,那么他連閱讀都無法完成。我們之所以可以將一篇不能完全理解的專業(yè)文章看完,是因?yàn)槲覀冇幸欢ǖ恼Z文基礎(chǔ)知識。
- 也就是說,在我們的大腦里,儲存著識字的能力。我們可以將這些已經(jīng)擁有的能力整合在知識體系中。這樣的話,當(dāng)我們?nèi)W(xué)習(xí)新知識時,完全可以從構(gòu)建好的體系里,找到已經(jīng)形成的能力。
- 好處即,完全陌生的知識會被分解形成一些小的知識點(diǎn)。然后再聯(lián)系體系中已有的能力,去逐一攻克這些陌生的難題。
3. 分享交流
- 什么是黑客?真正的黑客可能與大多數(shù)人所理解的有所差異。黑客,由英語 Hacker 音譯出來的,狹義是指專門研究、發(fā)現(xiàn)計(jì)算機(jī)和網(wǎng)絡(luò)漏洞的計(jì)算機(jī)愛好者。根據(jù)黑客的原始定義,黑客對計(jì)算機(jī)有著狂熱的興趣和執(zhí)著的追求,不斷推動著計(jì)算機(jī)和網(wǎng)絡(luò)的發(fā)展與完善。顯而易見,黑客與網(wǎng)絡(luò)安全緊密相關(guān)。
- 黑客精神是關(guān)于開放的精神。而黑客行為是基于團(tuán)隊(duì)的,只有開放才能讓參與者們發(fā)揮出最大的能量,去修補(bǔ),去改造。互聯(lián)網(wǎng)上最有價值行為就是「奉獻(xiàn)」,技術(shù)在奉獻(xiàn)中獲得了進(jìn)步,知識在共享中得到了豐富?!胺窒斫涣鳌?無疑是構(gòu)成互聯(lián)網(wǎng)這座大廈的基石,只有知識共享才能推動我們不斷向前走。逛一逛社區(qū),分享些自我學(xué)習(xí)的心得,于人于己,都是大有裨益的。