帶你了解真正黑客入侵的常用手段及防護(hù)措施
越來越多的人能夠接觸到互聯(lián)網(wǎng)。這促使許多組織開發(fā)基于web的應(yīng)用程序,用戶可以在線使用這些應(yīng)用程序與組織進(jìn)行交互。為web應(yīng)用程序編寫的糟糕代碼可能被利用來獲得對敏感數(shù)據(jù)和web服務(wù)器的未經(jīng)授權(quán)的訪問。

在本文中,我將向你介紹web應(yīng)用程序黑客技術(shù),以及你可以采取的防止此類攻擊的應(yīng)對措施。
什么是web應(yīng)用程序?什么是網(wǎng)絡(luò)威脅?
web應(yīng)用程序(又名網(wǎng)站)是基于客戶機(jī)--服務(wù)器模型的應(yīng)用程序。服務(wù)器提供數(shù)據(jù)庫訪問和業(yè)務(wù)邏輯。它托管在web服務(wù)器上??蛻魴C(jī)應(yīng)用程序在客戶機(jī)web瀏覽器上運(yùn)行。Web應(yīng)用程序通常是用Java、c#和VB等語言編寫的。web應(yīng)用中使用的數(shù)據(jù)庫引擎包括MySQL、MS SQL Server、PostgreSQL、SQLite等。
大多數(shù)web應(yīng)用程序部署在可以通過Internet訪問的公共服務(wù)器上。由于易于訪問,這使得它們?nèi)菀资艿焦?。以下是常見的web應(yīng)用程序的威脅。
- SQL注入——這種威脅的目標(biāo)可能是繞過登錄算法,破壞數(shù)據(jù),等等。
- 拒絕服務(wù)攻擊——這種威脅的目標(biāo)可能是拒絕合法用戶對資源的訪問。
- 跨站點(diǎn)腳本XSS——這種威脅的目標(biāo)可能是注入可以在客戶端瀏覽器上執(zhí)行的代碼。
- Cookie/Session盜取——這種威脅的目標(biāo)是攻擊者修改Cookie/Session數(shù)據(jù),以獲得未經(jīng)授權(quán)的訪問。
- 表單篡改——這種威脅的目標(biāo)是修改電子商務(wù)應(yīng)用程序中的價格等表單數(shù)據(jù),以便攻擊者能夠以較低的價格獲得商品。
- 代碼注入——這種威脅的目標(biāo)是注入可以在服務(wù)器上執(zhí)行的代碼,如PHP、Python等。代碼可以安裝后門,透露敏感信息等。
- 破壞——這種威脅的目標(biāo)是修改網(wǎng)站上顯示的頁面,并將所有頁面請求重定向到包含攻擊者消息的單個頁面。
如何保護(hù)你的網(wǎng)站免受黑客攻擊?
組織可以采用以下策略來保護(hù)自己不受web服務(wù)器攻擊。
- SQL注入——在將用戶參數(shù)提交到數(shù)據(jù)庫進(jìn)行處理之前對其進(jìn)行清理和驗(yàn)證,可以幫助降低通過SQL注入受到攻擊的幾率。數(shù)據(jù)庫引擎,如MS SQL Server, MySQL等,支持參數(shù)和預(yù)備語句。它們比傳統(tǒng)的SQL語句安全得多
- 拒絕服務(wù)攻擊——如果攻擊是簡單的DoS,則可以使用防火墻來攔截來自可疑IP地址的流量。適當(dāng)?shù)木W(wǎng)絡(luò)配置和入侵檢測系統(tǒng)也有助于減少DoS攻擊成功的機(jī)會。
- 跨站點(diǎn)腳本XSS——驗(yàn)證和清理headers、通過URL傳遞的參數(shù)、表單參數(shù)和隱藏值可以幫助減少XSS攻擊。
- Cookie/Session中毒——這可以通過加密Cookie的內(nèi)容、設(shè)置過期時間、將Cookie與用于創(chuàng)建它們的客戶端IP地址關(guān)聯(lián)來防止。
- 表單篡改——通過在處理之前驗(yàn)證和驗(yàn)證用戶輸入,可以防止這種情況。
- 代碼注入——這可以通過將所有參數(shù)視為數(shù)據(jù)而不是可執(zhí)行代碼來防止??梢允褂孟竞万?yàn)證來實(shí)現(xiàn)這一點(diǎn)。
- 破壞——一個好的web應(yīng)用程序開發(fā)安全策略應(yīng)該確保它密封了訪問web服務(wù)器的常用漏洞。這可以是操作系統(tǒng)、web服務(wù)器軟件的適當(dāng)配置,以及開發(fā)web應(yīng)用程序時的最佳安全實(shí)踐。