您好,登錄后才能下訂單哦!
這篇文章主要介紹SQL注入、XSS和CSRF指的是什么意思,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
SQL注入
SQL注入是屬于注入式攻擊,這種攻擊是因為在項目中沒有將代碼與數據(比如用戶敏感數據)隔離,在讀取數據的時候,錯誤的將數據作為代碼的一部分執行而導致的。
典型的例子就是當對SQL語句進行字符串拼接的時候,直接使用未轉義的用戶輸入內容作為變量。這時,只要在sql語句的中間做修改,比如加上drop、delete等關鍵字,執行之后后果不堪設想。
說到這里,那么該怎么處理這種情況呢?三個方面:
1、過濾用戶輸入參數中的特殊字符,降低風險。
2、禁止通過字符串拼接sql語句,要嚴格使用參數綁定來傳入參數。
3、合理使用數據庫框架提供的機制。就比如Mybatis提供的傳入參數的方式 #{},禁止使用${},后者相當于是字符串拼接sql,要使用參數化的語句。
總結下,就是要正確使用參數化綁定sql變量。
XSS
XSS:跨站腳本攻擊,Cross-Site Scripting,為了和前端的css避免重名,簡稱為XSS,是指通過技術手段,向正常用戶請求的HTML頁面中插入惡意腳本,執行。
這種攻擊主要是用于信息竊取和破壞等目的。比如2011年的微博XSS攻擊事件,攻擊者利用了微博發布功能中未對action-data漏洞做有效的過濾,在發布微博信息的時候帶上了包含攻擊腳本的URL,用戶訪問就會加載惡意腳本,導致大量用戶被攻擊。
關于防范XSS上,主要就是通過對用戶輸入的數據做過濾或者是轉義,可以使用框架提供的工具類HtmlUtil。另外前端在瀏覽器展示數據的時候,要使用安全的API展示數據。比如使用innerText而不是innerHTML。
CSRF
跨站請求偽造,在用戶并不知情的情況下,冒充用戶發送請求,在當前已經登錄的web網站上執行惡意操作,比如惡意發帖,修改密碼等。
大致來看,與XSS有重合的地方,前者是黑客盜用用戶瀏覽器中的登錄信息,冒充用戶去執行操作。后者是在正常用戶請求的HTML中放入惡意代碼,XSS問題出在用戶數據沒有轉義,過濾;CSRF問題出現在HTTP接口沒有防范不守信用的調用。
防范CSRF的漏洞方式:
1、CSRF Token驗證,利用瀏覽器的同源限制,在HTTP接口執行前驗證Cookie中的Token,驗證通過才會繼續執行請求。
2、人機交互,例如短信驗證碼、界面的滑塊。
以上是“SQL注入、XSS和CSRF指的是什么意思”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。