常見的web安全及防護(hù)原理

sql 注入原理

就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請(qǐng)求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。

總的來說有以下幾點(diǎn):
1. 永遠(yuǎn)不要信任用戶的輸入,要對(duì)用戶的輸入進(jìn)行校驗(yàn),可以通過正則表達(dá)式,或限制長(zhǎng)度,對(duì)單引號(hào)和雙"-"進(jìn)行轉(zhuǎn)換等。

2.永遠(yuǎn)不要使用動(dòng)態(tài)拼裝SQL,可以使用參數(shù)化的SQL或者直接使用存儲(chǔ)過程進(jìn)行數(shù)據(jù)查詢存取。

3.永遠(yuǎn)不要使用管理員權(quán)限的數(shù)據(jù)庫連接,為每個(gè)應(yīng)用使用單獨(dú)的權(quán)限有限的數(shù)據(jù)庫連接。

4.不要把機(jī)密信息明文存放,請(qǐng)加密或者h(yuǎn)ash掉密碼和敏感的信息。

XSS原理及防范

XSS原理
Xss(cross-site scripting)攻擊指的是攻擊者往Web頁面里插入惡意 html標(biāo)簽或者javascript代碼。比如:攻擊者在論壇中放一個(gè)

看似安全的鏈接,騙取用戶點(diǎn)擊后,竊取cookie中的用戶私密信息;或者攻擊者在論壇中加一個(gè)惡意表單,

當(dāng)用戶提交表單的時(shí)候,卻把信息傳送到攻擊者的服務(wù)器中,而不是用戶原本以為的信任站點(diǎn)。

XSS防范方法
首先代碼里對(duì)用戶輸入的地方和變量都需要仔細(xì)檢查長(zhǎng)度和對(duì)”<”,”>”,”;”,”’”等字符做過濾;其次任何內(nèi)容寫到頁面之前都必須加以encode,避免不小心把html tag 弄出來。這一個(gè)層面做好,至少可以堵住超過一半的XSS 攻擊。

首先,避免直接在cookie 中泄露用戶隱私,例如email、密碼等等。

其次,通過使cookie 和系統(tǒng)ip 綁定來降低cookie 泄露后的危險(xiǎn)。這樣攻擊者得到的cookie 沒有實(shí)際價(jià)值,不可能拿來重放。

如果網(wǎng)站不需要再瀏覽器端對(duì)cookie 進(jìn)行操作,可以在Set-Cookie 末尾加上HttpOnly 來防止javascript 代碼直接獲取cookie 。

盡量采用POST 而非GET 提交表單

XSS與CSRF有什么區(qū)別嗎?

XSS是獲取信息,不需要提前知道其他用戶頁面的代碼和數(shù)據(jù)包。CSRF是代替用戶完成指定的動(dòng)作,需要知道其他用戶頁面的代碼和數(shù)據(jù)包。

要完成一次CSRF攻擊,受害者必須依次完成兩個(gè)步驟:

  • 登錄受信任網(wǎng)站A,并在本地生成Cookie。

  • 在不登出A的情況下,訪問危險(xiǎn)網(wǎng)站B。

CSRF的防御

  • 在客戶端頁面增加偽隨機(jī)數(shù)
  • 通過驗(yàn)證碼的方法
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容