常見Web安全問題記錄與總結

2021-08-16 09:52:29 字數 1902 閱讀 1214

xss (cross site script),跨站指令碼攻擊。

xss 的原理是惡意攻擊者往 web 頁面裡插入惡意可執行網頁指令碼**,當使用者瀏覽該頁之時,嵌入其中 web 裡面的指令碼**會被執行,從而可以達到攻擊者盜取使用者資訊或其他侵犯使用者安全隱私的目的。xss 的攻擊方式千變萬化,但還是可以大致細分為幾種型別。

反射型 xss:

反射型xss也被稱為非永續性xss,是現在最容易出現的一種xss漏洞。一般是通過給別人傳送帶有惡意指令碼**引數的 url,當 url 位址被開啟時,特有的惡意**引數被 html 解析、執行。

例如:攻擊者給使用者傳送乙個url:

;(markdown編輯器也進行了xss防禦,導致我這裡無法輸入script標籤)

為了防止出現非持久型 xss 漏洞,需要確保這麼幾件事情:

web 頁面渲染的所有內容或者渲染的資料都必須來自於服務端。

盡量不要從 url,document.referrer,document.forms 等這種 dom api 中獲取資料直接渲染。

盡量不要使用 eval, new function(),document.write(),document.writeln(),window.setinterval(),window.settimeout(),innerhtml,document.creteelement() 等可執行字串的方法。

如果做不到以上幾點,也必須對涉及 dom 渲染的方法傳入的字串引數做 escape 轉義。

前端渲染的時候對任何的字段都需要做 escape 轉義編碼。

這是幾點防禦建議。

持久型 xss 有以下幾個特點:

永續性,植入在資料庫中

危害面廣,甚至可以讓使用者機器變成 ddos 攻擊的肉雞。

盜取使用者敏感私密資訊

防禦

防禦方法總得來說就是——輸入過濾,輸出轉碼,有cookie的http-only請看這篇博文《解析檢查 —— 儲存型xss漏洞解決方案》

原理

完成 csrf 攻擊必須要有三個條件:

使用者已經登入了站點 a,並在本地記錄了 cookie

在使用者沒有登出站點 a 的情況下(也就是 cookie 生效的情況下),訪問了惡意攻擊者提供的引誘危險站點 b (b 站點要求訪問站點a)。

站點 a 沒有做任何 csrf 防禦

防禦

驗證碼;強制使用者必須與應用進行互動,才能完成最終請求。此種方式能很好的遏制 csrf,但是使用者體驗比較差。

盡量使用 post ,限制 get 使用;上乙個例子可見,get 太容易被拿來做 csrf 攻擊,但是 post 也並不是萬無一失,攻擊者只需要構造乙個form就可以。

referer check;請求**限制,此種方法成本最低,但是並不能保證 100% 有效,因為伺服器並不是什麼時候都能取到 referer,而且低版本的瀏覽器存在偽造 referer 的風險。(關於referer的概念和用法可參考這篇文章http_referer的用法及偽造)

token;token 驗證的 csrf 防禦機制是公認最合適的方案。

整體思路如下:

第一步:後端隨機產生乙個 token,把這個token 儲存到 session 狀態中;同時後端把這個token 交給前端頁面;

第二步:前端頁面提交請求時,把 token 加入到請求資料或者頭資訊中,一起傳給後端;

後端驗證前端傳來的 token 與 session 是否一致,一致則合法,否則是非法請求。

若**同時存在 xss 漏洞的時候,這個方法也是空談。

除了xss和csrf,還有ddos、sql注入等常見漏洞,我這篇短文就不介紹了,請移步大神的部落格。

web常見安全問題以及測試方法

web 安全是我們 測試 組一直以來作為和 效能測試 並駕齊驅的兩個重點。開發的過程中還需要著重注意,該轉義的地方轉義 該遮蔽的地方遮蔽,該過濾的地方過濾等等。年底又到了,勢必又有大批的發號 之類的活動開發 上線,在這個過程中,安全問題是我們每個人應該緊繃的神經,對於我們測試人員來說,每個活動需要做...

2023年1月問題記錄與總結

1.中斷沒有觸發的可能原因 1.從cpu這一端看,本身的中斷開關沒有開啟 2.cpu這一級中斷被其他原因關閉,例如 arm中 cpsr的i 和f位都被遮蔽了 3.從外設的角度,檢查外設的中斷有沒有發出來,發出來了會不會還沒有到達cpu之前就被遮蔽了,這個往往可以檢視 mask 是否設定正確 4.軟體...

web安全問題彙總

web 安全問題總結 一,資料庫安全性 1,mssql資料庫安全性 l web中不允許使用sa級的使用者連線資料庫 解決方法 2,access資料庫安全性 解決方法 u 第一步 新建乙個表。u 第二步 在表中建乙個字段,名稱隨意,型別是ole物件,然後用asp 向字段中新增一條記錄寫入單位元組的 為...