久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Web常見安全漏洞有哪些

159次閱讀
沒有評論

共計 2363 個字符,預計需要花費 6 分鐘才能閱讀完成。

本篇內容主要講解“Web 常見安全漏洞有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“Web 常見安全漏洞有哪些”吧!

1、什么是 SQL 注入?

SQL 注入,就是通過把 SQL 命令插入到 Web 表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的 SQL 命令。具體來說,它是利用現有應用程序,將(惡意的)SQL 命令注入到后臺數據庫引擎執行的能力,它可以通過在 Web 表單中輸入(惡意)SQL 語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行 SQL 語句。

2、如何注入?

例子:   http://test.com/info?id=1

此 URL 返回數據庫某表的 1 條數據。程序中可能這么寫的,ID 為傳入變量:

  select * from user where id=‘”+id+“’;  

如上,那么查詢語句將是

select * from user where id =‘1’

如果 id= 1‘or’1‘=’1, 那么查詢語句將是

select * from user where id =‘1’or‘1’=‘1’

3、SQL 注入原因

①對提交的數據未過濾

②拼裝 SQL 語句

③不當的類型處理

4、SQL 注入防御

(1)字符串長度驗證

僅接受指定長度范圍內的變量值。sql 注入腳本必然會大大增加輸入變量的長度,通過長度限制,比如用戶名長度為 8 到 20 個字符之間,超過就判定為無效值。

(2)對單引號和雙 –、下劃線、百分號等 sql 注釋符號進行轉義

(3)不使用動態拼裝 SQL,使用參數化的 SQL 進行數據查詢存取

代碼示例:

String sql = select id, no from user where id=?

PreparedStatement ps

= conn.prepareStatement(sql);

ps.setInt(1, id);

ps.executeQuery();

(4)框架防御:mybatis

① # 符號作用為 將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。

如:where user_id= #{id}

如果傳入的值是 111, 那么解析成 sql 時的值為 where id  = 111

如果傳入的值是 1’=or’1’=‘1’,則解析成的 sql 為 whereid“1’=or’1’=‘1’“

②$ 符號則是將傳入的數據直接生成在 sql 中。

如:where user_id=‘${id}’

如果傳入的值是 111, 那么解析成 sql 時的值為 where id  =‘111’

如果傳入的值是 1’=or’1’=‘1’,則解析成的 sql 為 where _id =‘1’or’1’=1’

結論:# 符號能夠防止 SQL 注入,$ 符號無法防止 SQL 注入,$ 符號一般用于傳入數據庫對象,例如傳入表名

XSS

1、什么是 XSS?

往 Web 頁面里插入惡意 html 代碼,當用戶瀏覽該頁之時,嵌入其中 Web 里面的 html 代碼會被執行,從而達到惡意攻擊用戶的特殊目的

2、XSS 分類

(1)持久性的 XSS(存儲在服務器端,攻擊行為將伴隨著攻擊數據一直存在)

(2)非持久性的 XSS(一次性的,僅對當次的頁面訪問產生影響)

例子:將參數傳遞至頁面輸出

參數寫法:index?value= script alert(document.cookie) /script

頁面和 JS 寫法:div id=“xss”/div     |    $(‘#xss’).html(value);

3、XSS 危害

執行任意 JS 代碼。最常見的做法是獲取 COOKIE 認證信息;其他的就是跳轉至惡意網址等,或者配合 CSRF 漏洞,進行創建 form 表單,進行提交,強制使當前用戶操作,比如發帖,刪帖,甚至轉賬等。

4、XSS 防護

(1)過濾用戶輸入的內容,常見的是過濾‘、”、;、、

(2)在用戶提交數據時,對數據進行編碼處理。

(3)在輸出頁面時,對數據進行編碼處理。

CSRF

1、什么是 CSRF?

偽造請求,冒充用戶在站內的正常操作

2、CSRF 攻擊原理

請輸入圖片描述

3、CSRF 危害

攻擊者盜用了用戶的身份,可以利用此身份進行發送郵件、發消息、購買商品、銀行轉賬等等用戶可執行的操作。

4、CSRF 如何防護

(1)驗證 HTTP Referer 字段

此方法為基礎防御,目前 Referer 是可被改寫和偽造的,并非絕對安全。

(2)HTTP 添加自定義參數驗證

服務器生成 token 一份存放在 session 中,一份放在前端隱藏域中隨請求頭部提交。B 不訪問 A 網站前端拿不到 token,請求無法通過驗證,達到防御目的。

URL 跳轉漏洞

1、什么是 URL 跳轉漏洞?

程序中常會重定向頁面,在登錄系統中長會根據 URL 中的參數進行重定向,便于用戶登錄之后,調轉到之前的頁面。

2、URL 示例

比如:http://www.aa.com/account/login

?from=http://download.aa.com

對于跳轉頁是否是當前站點的頁面,或者是否是允許的頁面地址沒有做判斷,當惡意攻擊者將地址改為:

http://www/aa.com/account/login

?from=http://www.bb.com/

那么用戶登錄后會跳轉到 www.bb.com,如果是惡意網址,那么用戶就成為受害者。

3、配合 session 在 URL 中傳遞的危害

跳轉到的頁面中很容易從 HTTP 請求頭中獲取到 url 中 session 的值,對于 session 中驗證信息不綁定用戶客戶端信息的情況,攻擊者可直接使用,成為之前用戶的身份。

4、URL 跳轉漏洞防護

(1)可以確定的 URL:配置對應索引文件,通過索引找到對應具體 url 再進行跳轉

(2)無法確定的 URL:增加規則校驗,先通過驗證后在進行跳轉

到此,相信大家對“Web 常見安全漏洞有哪些”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-26發表,共計2363字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 淮阳县| 甘德县| 龙胜| 象州县| 肥城市| 马公市| 阜宁县| 楚雄市| 丽江市| 临汾市| 台湾省| 大庆市| 仲巴县| 嵊州市| 隆安县| 南岸区| 明水县| 鞍山市| 河南省| 陈巴尔虎旗| 延庆县| 都昌县| 安吉县| 寿宁县| 分宜县| 双鸭山市| 镇江市| 阳朔县| 马龙县| 伊金霍洛旗| 万载县| 海门市| 宕昌县| 灌云县| 久治县| 嘉鱼县| 青川县| 西贡区| 湾仔区| 武宁县| 旺苍县|