溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQL注入、XSS和CSRF指的是什么意思

發(fā)布時(shí)間:2020-12-02 11:18:06 來源:億速云 閱讀:191 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹SQL注入、XSS和CSRF指的是什么意思,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

SQL注入

SQL注入是屬于注入式攻擊,這種攻擊是因?yàn)樵陧?xiàng)目中沒有將代碼與數(shù)據(jù)(比如用戶敏感數(shù)據(jù))隔離,在讀取數(shù)據(jù)的時(shí)候,錯(cuò)誤的將數(shù)據(jù)作為代碼的一部分執(zhí)行而導(dǎo)致的。

典型的例子就是當(dāng)對(duì)SQL語句進(jìn)行字符串拼接的時(shí)候,直接使用未轉(zhuǎn)義的用戶輸入內(nèi)容作為變量。這時(shí),只要在sql語句的中間做修改,比如加上drop、delete等關(guān)鍵字,執(zhí)行之后后果不堪設(shè)想。

說到這里,那么該怎么處理這種情況呢?三個(gè)方面:

1、過濾用戶輸入?yún)?shù)中的特殊字符,降低風(fēng)險(xiǎn)。

2、禁止通過字符串拼接sql語句,要嚴(yán)格使用參數(shù)綁定來傳入?yún)?shù)。

3、合理使用數(shù)據(jù)庫框架提供的機(jī)制。就比如Mybatis提供的傳入?yún)?shù)的方式 #{},禁止使用${},后者相當(dāng)于是字符串拼接sql,要使用參數(shù)化的語句。

總結(jié)下,就是要正確使用參數(shù)化綁定sql變量。

XSS

XSS:跨站腳本攻擊,Cross-Site Scripting,為了和前端的css避免重名,簡稱為XSS,是指通過技術(shù)手段,向正常用戶請(qǐng)求的HTML頁面中插入惡意腳本,執(zhí)行。

這種攻擊主要是用于信息竊取和破壞等目的。比如2011年的微博XSS攻擊事件,攻擊者利用了微博發(fā)布功能中未對(duì)action-data漏洞做有效的過濾,在發(fā)布微博信息的時(shí)候帶上了包含攻擊腳本的URL,用戶訪問就會(huì)加載惡意腳本,導(dǎo)致大量用戶被攻擊。

關(guān)于防范XSS上,主要就是通過對(duì)用戶輸入的數(shù)據(jù)做過濾或者是轉(zhuǎn)義,可以使用框架提供的工具類HtmlUtil。另外前端在瀏覽器展示數(shù)據(jù)的時(shí)候,要使用安全的API展示數(shù)據(jù)。比如使用innerText而不是innerHTML。

CSRF

跨站請(qǐng)求偽造,在用戶并不知情的情況下,冒充用戶發(fā)送請(qǐng)求,在當(dāng)前已經(jīng)登錄的web網(wǎng)站上執(zhí)行惡意操作,比如惡意發(fā)帖,修改密碼等。

大致來看,與XSS有重合的地方,前者是黑客盜用用戶瀏覽器中的登錄信息,冒充用戶去執(zhí)行操作。后者是在正常用戶請(qǐng)求的HTML中放入惡意代碼,XSS問題出在用戶數(shù)據(jù)沒有轉(zhuǎn)義,過濾;CSRF問題出現(xiàn)在HTTP接口沒有防范不守信用的調(diào)用。

防范CSRF的漏洞方式:

1、CSRF Token驗(yàn)證,利用瀏覽器的同源限制,在HTTP接口執(zhí)行前驗(yàn)證Cookie中的Token,驗(yàn)證通過才會(huì)繼續(xù)執(zhí)行請(qǐng)求。

2、人機(jī)交互,例如短信驗(yàn)證碼、界面的滑塊。

以上是“SQL注入、XSS和CSRF指的是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI