服務端開發過程中常見的安全性問題

身份驗證與授權

密碼加密

加密傳輸

Https

DDoS

SQL注入

SQL注入的本質:數據和代碼未分離,即數據當做了代碼來執行。

解決辦法

  • 檢查輸入的數據是否符合預期,不能直接放入數據庫中進行查詢
  • 字符串長度驗證
  • mybatis具有防sql注入的方式
    • 使用#{}代替${}
    • mybatis會對使用#的數據當成一個字符串,會自動加一個雙引號

跨站腳本

XSS

Cross Site Scripting。通過存在安全漏洞的Web網站注冊用戶的瀏覽器內運行非法的HTML標簽或JavaScript進行的一種攻擊。
原理是惡意攻擊者往 Web 頁面里插入惡意可執行網頁腳本代碼,當用戶瀏覽該頁之時,嵌入其中 Web 里面的腳本代碼會被執行,從而可以達到攻擊者盜取用戶信息或其他侵犯用戶安全隱私的目的。

類型

  1. 非持久型 XSS(反射型 XSS )

通過給別人發送帶有惡意腳本代碼參數的 URL,當 URL 地址被打開時,特有的惡意代碼參數被 HTML 解析、執行。

一些瀏覽器如Chrome其內置了一些XSS過濾器,可以防止大部分反射型XSS攻擊。

特征:

  • 即時性,不經過服務器存儲,直接通過 HTTP 的 GET 和 POST 請求就能完成一次攻擊
  • 攻擊者需要誘騙點擊,必須要通過用戶點擊鏈接才能發起
  • 反饋率低,所以較難發現和響應修復
  • 盜取用戶敏感保密信息
  1. 持久型 XSS(存儲型 XSS)
    持久型 XSS 漏洞,一般存在于 Form 表單提交等交互功能,如文章留言,提交文本信息等,黑客利用的 XSS 漏洞,將內容經正常功能提交進入數據庫持久保存,當前端頁面獲得后端從數據庫中讀出的注入代碼時,恰好將其渲染執行。

特征:

  • POST 請求提交表單后端沒做轉義直接入庫。
  • 后端從數據庫中取出數據沒做轉義直接輸出給前端。
  • 前端拿到后端數據沒做轉義直接渲染成 DOM。

解決辦法

  1. 非持久型 XSS(反射型 XSS )
  • Web 頁面渲染的所有內容或者渲染的數據都必須來自于服務端。
  • 盡量不要從 URL,document.referrer,document.forms 等這種 DOM API 中獲取數據直接渲染。
  • 盡量不要使用 eval, new Function(),document.write(),document.writeln(),window.setInterval(),window.setTimeout(),innerHTML,document.createElement() 等可執行字符串的方法。

CSRF

CSRF(Cross Site Request Forgery),即跨站請求偽造。它利用用戶已登錄的身份,在用戶毫不知情的情況下,以用戶的名義完成非法操作。

session劫持

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37905.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37905.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37905.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入探討光刻技術:半導體制造的關鍵工藝

前言 光刻(Photolithography)是現代半導體制造過程中不可或缺的一環,它的精度和能力直接決定了芯片的性能和密度。本文將詳細介紹光刻技術的基本原理、過程、關鍵技術及其在半導體制造中的重要性。 光刻技術的基本原理 光刻是一種利用光化…

受限玻爾茲曼機淺析

受限玻爾茲曼機(Restricted Boltzmann Machine,簡稱RBM)是一種特殊的隨機生成神經網絡,能夠學習并發現數據的復雜規則分布。以下是關于受限玻爾茲曼機算法的詳細介紹: ?? 定義與起源 定義: 受限玻爾茲…

深入剖析Tomcat(十四) Server、Service 組件:如何啟停Tomcat服務?

通過前面文章的學習,我們已經了解了連接器,四大容器是如何配合工作的,在源碼中提供的示例也都是“一個連接器”“一個頂層容器”的結構。并且啟動方式是分別啟動連接器和容器,類似下面代碼 connector.setContainer(engine); try …

主流分布式消息中間件RabbitMQ、RocketMQ

分布式消息中間件在現代分布式系統中起著至關重要的作用。以下是一些主流的分布式消息中間件: 1. Apache Kafka - 特點:高吞吐量、低延遲、持久化、水平可擴展、分布式日志系統。 - 使用場景:日志收集與處理、實時流處理、事件驅動架構、大數…

NC204871 求和

鏈接 思路: 對于一個子樹來說,子樹的節點就包括在整顆樹的dfs序中子樹根節點出現的前后之間,所以我們先進行一次dfs,用b數組的0表示區間左端點,1表示區間右端點,同時用a數組來標記dfs序中的值。處理完dfs序…

小程序的運行機制、更新機制、生命周期介紹保姆級教程全解

一、小程序運行機制 1. 小程序冷啟動 小程序啟動可以分為兩種情況,一種是冷啟動,一種是熱啟動- 冷啟動:如果用戶首次打開,或小程序銷毀后被用戶再次打開,此時小程序需要重新加載啟動- 熱啟動:如果用戶已經打…

HSP_12章 Python面向對象編程oop_多態

文章目錄 P128 多態問題的引出P129 多態細節和使用1. 多態介紹&特別說明2. 多態的好處3. 特別說明: Python多態的特點4. 使用多態的機制來解決主人喂食物的問題 P128 多態問題的引出 先看一個問題 # 說明: 先試用傳統的方式完成 class Food:name Nonedef __init__(self,…

4.Android逆向協議-詳解二次打包失敗解決方案

免責聲明:內容僅供學習參考,請合法利用知識,禁止進行違法犯罪活動! 內容參考于:微塵網校 上一個內容:3.Android逆向協議-APP反反編譯及回編譯 工具下載: 鏈接:https://pan.baidu.…

【MyBatis】 - 自定義TypeHandler-數組

在Java中,如果你使用的是MyBatis并需要為String數組自定義TypeHandler,可以按照以下步驟進行操作。TypeHandler用于自定義對象與數據庫字段之間的轉換。 步驟一:創建自定義的TypeHandler 首先,你需要創建一個自定義的TypeHandle…

#筆記# 寫給自己用的小爬蟲

最近完成了一個文旅行業信息聚合的小應用,實現僅從一個入口了解全行業的信息動態,不用一個一個翻看各網站,節省了不少檢索時間。 一、基本思路 明確數據來源。基于前述目標,確定數據源為文化和旅游部管理部門官網,比…

STM32中斷

目錄 stm32中斷原理標準庫高低電平使LED亮滅燈采用串口中斷方式做串口通信 stm32中斷原理 在STM32微控制器中,中斷是一種重要的事件驅動機制,用于處理實時事件而無需持續輪詢。中斷在處理外部事件(如按鍵輸入、定時器溢出等)時非…

【辦公類-21-18】20240701 養老護理員初級選擇題488,制作PyQt5圖形界面GUI

背景需求: 6月16日育嬰師高級考完了。運氣好,抽到的是”護理患腹瀉的幼兒”,“晨檢與家長溝通”,“4個月嬰兒喂蛋黃”,“21個月食譜”,都是我背過的題目(沒有抽到感統) 于是一放假&…

【C語言】解決C語言報錯:Invalid Pointer

文章目錄 簡介什么是Invalid PointerInvalid Pointer的常見原因如何檢測和調試Invalid Pointer解決Invalid Pointer的最佳實踐詳細實例解析示例1:未初始化的指針示例2:已釋放的指針示例3:返回局部變量的指針示例4:野指針 進一步閱…

three.js獲取深度圖

在Three.js中,獲取深度圖(Depth Map)通常涉及幾個步驟。深度圖是一個圖像,其中每個像素的值表示從攝像機到場景中相應點的距離。以下是如何在Three.js中獲取深度圖的基本步驟: 設置WebGLRenderer:確保你的T…

Android裁剪內核后編譯報錯compatibility matrix

【問題描述】: 優化開機速度,裁剪kernel,注釋掉模型模塊后如:# CONFIG_HID_SONY is not set,出現編譯報錯。 checkvintf E 07-01 16:32:02 160 160 check_vintf.cpp:620] files are incompatible: Runtime info a…

《化學工程與裝備》是什么級別的期刊?是正規期刊嗎?能評職稱嗎?

?問題解答 問:《化學工程與裝備》是不是核心期刊? 答:不是,是知網收錄的第一批認定學術期刊。 問:《化學工程與裝備》級別? 答:省級。主管單位:福建石油化工集團有限責任公司 …

昇思25天學習打卡營第6天|網絡構建

網絡構建 概念模型模型參數 概念 神經網絡模型是由神經網絡層和Tensor操作構成的,mindspore.nn提供了常見神經網絡層的實現,在MindSpore中,Cell類是構建所有網絡的基類,也是網絡的基本單元。一個神經網絡模型表示為一個Cell&…

技術革新:如何用數據中臺實現數字化轉型

作為程序員,我們總是對技術如何改變企業運作充滿好奇。今天,我們將深入探討森馬集團如何利用數據中臺技術,實現從傳統數據分析到數字化轉型的華麗轉身。 1. 技術背景:森馬集團的數字化挑戰 森馬集團,一個在服飾行業占…

[單master節點k8s部署]8.pod健康探測

k8s默認的健康檢查機制是,每個容器都有一個監控進程,如果進程退出時返回碼非零,則認為容器發生故障。 存活探測 監測pod是否處于運行狀態,當liveness probe探測失敗的時候,根據重啟策略判斷是否需要重啟。適用于需要…

【Win測試】窗口捕獲的學習筆記

2 辨析筆記 2.1 mss:捕獲屏幕可見區域,不適合捕獲后臺應用 Claude-3.5-Sonnet: MSS庫可以用來捕獲屏幕上可見的內容;然而,如果游戲窗口被其他窗口完全遮擋或最小化,MSS將無法捕獲到被遮擋的游戲窗口內容,而…