日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
智匯華云:Web常見安全漏洞分享

智匯華云:Web常見安全漏洞分享

作者:佚名 2019-03-26 15:57:17

云計算 互聯網時代數據信息瞬息萬變,隨之而來的是各種網絡威脅、病毒等各種危害網絡安全的行為,網絡安全越來越受到大家的關注。華云數據本期“智匯華云”專欄將解析Web常見安全漏洞,與大家共同探討數字時代的安全問題。

成都創(chuàng)新互聯公司提供成都網站建設、成都網站設計、網頁設計,品牌網站建設,廣告投放等致力于企業(yè)網站建設與公司網站制作,10多年的網站開發(fā)和建站經驗,助力企業(yè)信息化建設,成功案例突破近千家,是您實現網站建設的好選擇.

互聯網時代數據信息瞬息萬變,隨之而來的是各種網絡威脅、病毒等各種危害網絡安全的行為,網絡安全越來越受到大家的關注。華云數據本期“智匯華云”專欄將解析Web常見安全漏洞,與大家共同探討數字時代的安全問題。

SQL注入

1、什么是SQL注入?

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

2、如何注入?

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

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

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

如上,那么查詢語句將是

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

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

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

3、SQL注入原因

①對提交的數據未過濾

②拼裝SQL語句

③不當的類型處理

4、SQL注入防御

(1)字符串長度驗證

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

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

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

代碼示例:

  
 
 
 
  1. String sql = "select id, no from user where id=?"; 
  2. PreparedStatement ps  
  3. = conn.prepareStatement(sql); 
  4. ps.setInt(1, id); 
  5. 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代碼會被執(zhí)行,從而達到實施威脅的特殊目的

2、XSS分類

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

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

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

參數寫法:

  
 
 
 
  1. index?value= 

頁面和JS寫法:

  
 
 
 
     |    $(‘#xss’).html(value); 

 

3、XSS危害

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

4、 XSS防護

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

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

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

CSRF

1、什么是CSRF?

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

2、CSRF原理

 

3、CSRF危害

威脅方盜用了用戶的身份,可以利用此身份進行發(fā)送郵件、發(fā)消息、購買商品、銀行轉賬等等用戶可執(zhí)行的操作。

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中驗證信息不綁定用戶客戶端信息的情況,發(fā)起威脅方可直接使用,成為之前用戶的身份。

4、URL跳轉漏洞防護

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

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


新聞名稱:智匯華云:Web常見安全漏洞分享
網址分享:http://www.dlmjj.cn/article/cdsiepp.html