摘要:常見的六大安全問題有點擊劫持跳轉漏洞注入命令注入攻擊,跨站腳本攻擊,因為縮寫和重疊,所以只能叫。這是預防攻擊竊取用戶最有效的防御手段。命令注入攻擊命令注入攻擊指通過應用,執行非法的操作系統命令達到攻擊的目的。
隨著互聯網的快速發展和前端的多樣性,瀏覽器已經成一種十分重要的上網工具,也是要有越來越多的交互操作需要瀏覽器來支持,所以針對瀏覽器的安全問題也越來越重要。
瀏覽器安全其實是受同源策略(同域名、同端口、同協議名)保護的,但是
如何防御?
1》可以對 Cookie 設置 SameSite 屬性。該屬性表示 Cookie 不隨著跨域請求發送,可以很大程度減少 CSRF 的攻擊,但是該屬性目前并不是所有瀏覽器都兼容。
2》通過Referer限制!Referer信息告訴服務器是從哪個頁面鏈接過來的
3》目前比較完善的解決方案是加入Anti-CSRF-Token,即發送請求時在HTTP 請求中以參數的形式加入一個隨機產生的token,服務器讀取瀏覽器當前域cookie中這個token值,進行比較校驗。
4》驗證碼操作,體驗上不是很好
===3.點擊劫持===
通過iframe透明化,漏出來一個按鈕,誘惑用戶點擊。
如何防御?
1》X-FRAME-OPTIONS是一個 HTTP 響應頭,在現代瀏覽器有一個很好的支持。這個 HTTP 響應頭 就是為了防御用 iframe 嵌套的點擊劫持攻擊。X-FRAME-OPTIONS有3個值可選:
DENY,表示頁面不允許通過 iframe 的方式展示
SAMEORIGIN,表示頁面可以在相同域名下通過 iframe 的方式展示
ALLOW-FROM,表示頁面可以在指定來源的 iframe 中展示
2》通過js的方法判斷,來隱藏iframe顯示的頁面。
===4.url跳轉漏洞===
借助未驗證的URL跳轉,將應用程序引導到不安全的第三方區域,從而導致的安全問題。
1》referer的限制
如果確定傳遞URL參數進入的來源,我們可以通過該方式實現安全限制,保證該URL的有效性,避免惡意用戶自己生成跳轉鏈接
2》加入有效性驗證Token
我們保證所有生成的鏈接都是來自于我們可信域的,通過在生成的鏈接里加入用戶不可控的Token對生成的鏈接進行校驗,可以避免用戶生成自己的惡意鏈接從而被利用,但是如果功能本身要求比較開放,可能導致有一定的限制。
===5.SQL注入===
SQL注入的本質:數據和代碼未分離,即數據當做了代碼來執行。
有可能會造成獲取數據庫信息、管理員后臺用戶名和密碼、讀取服務器敏感文件等問題,甚至修改數據庫內容。
如何防御?
1》嚴格限制Web應用的數據庫的操作權限,給此用戶提供僅僅能夠滿足其工作的最低權限,從而最大限度的減少注入攻擊對數據庫的危害
2》后端代碼檢查輸入的數據是否符合預期,嚴格限制變量的類型,例如使用正則表達式進行一些匹配處理。
3》對進入數據庫的特殊字符(",",,<,>,&,,; 等)進行轉義處理,或編碼轉換*。基本上所有的后端語言都有對字符串進行轉義處理的方法,比如 lodash 的 lodash._escapehtmlchar 庫。
4》所有的查詢語句建議使用數據庫提供的參數化查詢接口,參數化的語句使用參數而不是將用戶輸入變量嵌入到 SQL 語句中,即不要直接拼接 SQL 語句。例如 Node.js 中的 mysqljs 庫的 query 方法中的 ? 占位參數。
===6.OS命令注入攻擊===
OS命令注入攻擊指通過Web應用,執行非法的操作系統命令達到攻擊的目的。
如何防御?
1》后端對前端提交內容進行規則限制(比如正則表達式)。
2》在調用系統命令前對所有傳入參數進行命令行參數轉義過濾。
3》不要直接拼接命令語句,借助一些工具做拼接、轉義預處理,例如 Node.js 的 shell-escape npm包
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/105458.html
摘要:應用常見安全漏洞一覽注入注入就是通過給應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的命令。此外,適當的權限控制不曝露必要的安全信息和日志也有助于預防注入漏洞。 web 應用常見安全漏洞一覽 1. SQL 注入 SQL 注入就是通過給 web 應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的 SQL 命令。 SQL 注入漏洞屬于后端的范疇,但前端也可做體驗上的優化。 原因 當使用外...
摘要:應用常見安全漏洞一覽注入注入就是通過給應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的命令。此外,適當的權限控制不曝露必要的安全信息和日志也有助于預防注入漏洞。 web 應用常見安全漏洞一覽 1. SQL 注入 SQL 注入就是通過給 web 應用接口傳入一些特殊字符,達到欺騙服務器執行惡意的 SQL 命令。 SQL 注入漏洞屬于后端的范疇,但前端也可做體驗上的優化。 原因 當使用外...
閱讀 1132·2021-09-22 15:32
閱讀 1728·2019-08-30 15:53
閱讀 3258·2019-08-30 15:53
閱讀 1411·2019-08-30 15:43
閱讀 458·2019-08-28 18:28
閱讀 2574·2019-08-26 18:18
閱讀 673·2019-08-26 13:58
閱讀 2532·2019-08-26 12:10