<dd id="yzu3f"><tr id="yzu3f"><kbd id="yzu3f"></kbd></tr></dd>

              安基網 首頁 安全 Web安全 查看內容

              讓你徹底了解SQL注入、XSS和CSRF

              2019-2-24 11:34| 投稿: xiaotiger |來自: 互聯網


              免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

              摘要: 相信大家在各種技術文章都看到過SQL注入、XSS和CSRF這三個名詞,但是我覺得有一部分人可能并不清楚這三個詞的真正含義。接下來,我就說下這三個名詞的含義,希望對大家能有所幫助。SQL注入SQL注入是屬于注入式攻擊, ...

              相信大家在各種技術文章都看到過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、人機交互,例如短信驗證碼、界面的滑塊。

              之前在會議上也有一個思考,在人機驗證這塊,如果不用驗證碼的方式,用界面上的滑塊這種方式,而且滑塊還是第三方的。在APP的注冊、登錄使用這種人機驗證的方式的話,如果第三方出現了問題,那么自己的APP就完全崩掉了,發版之后的APP什么也改不了。

              這個問題,你們能想到解決方案嗎?在下一篇文章中,我會說一下討論的結果。

              希望這點分享會對每個讀者有所幫助。

              這樣的分享我會一直持續,你的關注、轉發和點贊是對我最大的支持,感謝。

              歡迎關注我的公眾號:java技術情報局,這里會長期分享技術干貨,和你一起變得更強。

              題圖:作者實拍


              小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

              本文出自:https://www.toutiao.com/a6661148739748495883/

              免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


              鮮花

              握手

              雷人

              路過

              雞蛋

              相關閱讀

              最新評論

               最新
              返回頂部
              十一选五奖金对照表