999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SSM框架的Web應用安全機制研究

2019-02-12 08:24:36柯芬芬,劉志華
無線互聯科技 2019年24期

柯芬芬,劉志華

摘 要:隨著互聯網技術的不斷發展,以Web環境作為切入點的互聯網應用也越來越普及,使得Web應用安全成為時下的熱點。文章主要研究如何在SSM框架中融合Shiro安全框架和部分Web漏洞攻擊的防護代碼,旨在設計出一個健壯性強、靈活性高的Web應用安全方案。

關鍵詞:Web安全;Shiro;SSM框架集

伴隨著互聯網技術的不斷發展與升級,企業信息化系統的建設以及網絡環境也趨于完善。以Web環境作為切入點的互聯網應用呈現“井噴式”發展態勢,但隨之而來的是Web安全問題的凸顯[1]。當前主流的Web應用開發通常會采用SSM(Spring+SpringMVC+Mybatis)框架構建,其構建的Web項目能夠提高項目的開發效率,降低項目開發和維護方面的成本。為了有效適應現代Web系統對安全性能的運行需求,文章考慮對SSM框架做進一步的優化,一是融合Shiro安全框架來加強系統認證與訪問控制;二是集成一些Web安全漏洞的防護代碼。

1 關鍵技術介紹

1.1 常見的Web安全漏洞

阿里云安全團隊發布的《2019年上半年Web應用安全報告》[2],從傳統攻擊的分布數據來看,Webshell攻擊以29%的比例奪得榜首,SQL注入以26%的比例緊隨其后,跨站腳本攻擊(Cross Site Scripting,XSS)的占比為4%,可見傳統的Web攻擊手段備受攻擊者青睞。下面對常見的Web系統安全漏洞進行詳細介紹。

1.1.1 SQL注入攻擊

SQL注入攻擊是指惡意攻擊者利用現有的瀏覽器/服務器模式(Browser/Server,B/S)架構,將惡意的結構化查詢語言(Structured Query Language,SQL)通過用戶請求的URL或者Web表單的輸入域傳遞給后臺程序,欺騙服務器調用SQL數據庫引擎來執行惡意SQL命令,從而達到攻擊的目的。缺乏經驗的開發人員在編碼時容易忽略對用戶輸入的參數進行非法性過濾處理,導致了惡意攻擊者利用這一漏洞,采用SQL攻擊方式來獲取數據庫的所有數據,更有甚者是拿到操作數據庫的最高權限,對整個數據庫進行增、刪、改、查(CRUD)操作。

1.1.2 XSS攻擊

XSS攻擊又稱跨站腳本攻擊,之所以簡寫為XSS,是為了與層疊樣式表(Cascading Style Sheets,CSS)的縮寫區分開來。XSS攻擊是指攻擊者巧妙地將惡意腳本代碼注入Web網頁中,當用戶瀏覽加載網頁時,程序會自動執行惡意代碼,從而實現對用戶瀏覽器的控制,以此來達到攻擊的目的。

1.1.3 文件上傳漏洞攻擊

文件上傳漏洞指的是惡意攻擊者將某個木馬、病毒和腳本等可執行文件上傳到服務器,從而達到攻擊的目的。造成文件上傳漏洞的原因有以下兩點,一是開發人員在編寫上傳模塊代碼時沒有去檢查用戶上傳的文件類型和內容,同時也沒有對上傳的文件目錄設置不可執行權限;二是攻擊者繞開Web前端js對文件后綴的判斷,篡改HTTP Header頭部請求信息。

1.2 SSM

SSM框架采用了標準的MVC模式,將Web系統劃分為View表示層、Controller控制層、Service業務邏輯層、DAO數據訪問層4層。融合MVC設計模式的目的在于后臺開發人員只需重點關注具體的業務邏輯,前端開發人員只關注數據的表現形式即可,大大縮減了Web系統的開發時間。

Spring是一個可以用來生產bean的工廠輕量級框架,幫助創建對象以及管理對象之間的依賴關系,降低對象之間的耦合度,從而簡化企業級Web應用程序開發。Spring MVC是Spring框架提供的一個實現了Web MVC設計模式的輕量級Web框架,主要負責請求的轉發和視圖管理。Mybatis框架是當前Web應用開發中流行的一種持久化ORM框架,其對JDBC進行了封裝與簡化,開發者無需編寫相關JDBC的繁瑣代碼,只須關心如何編寫SQL語句即可。

1.3 Shiro

Shiro是一個強大且易用的Java安全框架[3],能夠為命令行應用、移動應用、大型網絡應用以及企業應用提供安全保障。Shiro提供身份認證、授權、加密以及會話管理等功能,其中Shiro的認證功能主要是對用戶的登錄操作進行認證,驗證用戶是否擁有系統相應的身份,判斷登錄用戶是否合法;Shiro的授權功能主要是驗證某個已認證身份的用戶是否擁有某些內容的訪問權限,也就說認證用戶想要操作應用程序資源的話需具備相應的訪問權限;Shiro的會話管理功能主要是指用戶成功登錄應用后,在未退出應用前,其所有信息都保存在會話中,這樣在多次交互過程中,應用就能夠識別出當前訪問的用戶到底是誰。

2 基于SSM的Web應用安全機制設計

在SSM框架中融合Shiro安全框架的目的在于進行認證授權,對于需要訪問控制的用戶首先經過身份認證,認證通過后用戶根據擁有的資源訪問權限來訪問相應的內容。采用基于角色的訪問控制模式,提供完善的認證授權功能。在數據庫設計當中,配置系統用戶表、角色信息表、系統權限表3張基礎表,考慮用戶與角色之間、角色與權限之間是多對多的關系,所以還要建立用戶和角色關系表、角色和權限關系表2張中間表。以角色為中心來進行訪問控制,使得全部權限都和角色建立了緊密的聯系。

為了有效減少SQL,XSS注入的攻擊,開發者在編寫后臺代碼中應該對用戶提交的數據進行相應的過濾和驗證,盡可能減少被注入SQL和XSS代碼的風險。另外考慮在Mybatis框架中設計SQL注入漏洞修復方案,在Spring框架的Java后臺接口層面中設計自定義攔截器類來防止SQL和XSS代碼的注入。

3 基于SSM的Web應用安全機制實現

3.1 集成SQL/XSS注入攻擊的防護代碼

在Spring框架的Java后臺接口層面中自定義一個攔截器類實現HandlerInterceptor接口,且重寫接口preHandle,postHandle和afterCompletion3種方法,封裝過濾SQL/XSS注入攻擊的代碼,當然還需要配置攔截器,在這里就不列出相關代碼。

另外,還需要考慮在Mybatis框架中設計SQL注入漏洞修復方案,主要是在進行模糊查詢like時,采用預編譯機制來避免SQL語句拼接的問題。在使用in語句進行多值查詢時,可使用Mybatis自帶循環指令解決SQL語句動態拼接的問題。

3.2 集成文件上傳漏洞攻擊的防護代碼

第一步:在Web前端js文件中通過substr或者substring方法來提取上傳文件的后綴名,驗證文件類型是否合法。

第二步:Web后臺代碼先利用MultipartFile類來接受前端傳過來的文件信息,然后通過MultipartFile類的getSize()方法檢查上傳的文件大小是否符合要求,借助文件類型工具類FileTypeUtil的getType()方法來獲得文件類型,主要是依據文件流頭部16進制字符串內容來判斷上傳文件類型是否合法。

第三步:Web后臺代碼對上傳的文件按照一定規則進行重命名,且禁止用戶修改文件名。另外,文件上傳成功后將真實上傳路徑和訪問路徑做一個映射,當用戶在線預覽或者下載文件時,直接暴露訪問路徑給用戶即可。

3.3 實現SSM框架與Shiro安全框架的整合

第一步:在pom.xml文件中引入Shiro安全框架的所需jar包,可以借助Maven依賴查詢工具獲取最新或歷史版本的jar包,但需要注意的是,Shiro框架相關的jar包版本號導入要保持一致。

第二步:在web.xml文件中配置Shiro的代理過濾器。

第三步:創建Spring整合Shiro安全框架的配置文件來定制自己的Shiro服務,主要配置安全管理器securityManager、自定義的Realm、用戶授權信息Cache以及Shiro的核心配置。

第四步:自定義繼承AuthorizingRealm類的Realm,主要是用來獲取數據庫安全數據,要求開發人員重寫doGetAuthenticationInfo方法來進行身份認證登錄,查詢數據庫判斷登錄用戶的身份是否合法;還需要doGetAuthorizationInfo方法來對已認證的用戶身份進行權限分配。

第五步:在Controller控制器層調用Shiro的login登錄方法來驗證用戶信息,login方法名可自定義命名。

4 結語

在設計基于SSM框架的Web應用安全機制過程中,一方面采用當前主流的SSM框架來提高項目的開發效率,另一方面融合Shiro安全框架、SQL注入攻擊、XSS注入攻擊和文件上傳漏洞防護代碼來加強Web系統的安全性能。由于篇幅有限,本文僅列出Web應用安全機制的具體通用設計與實現步驟。

基金項目:江西省高校教改課題項目資助;項目編號:JXJG-18-50-1。江西省教育廳科學技術研究項目資助;項目編號:GJJ181281。

作者簡介:柯芬芬(1992— ),女,江西九江人,軟件設計師,碩士;研究方向:信息安全,移動互聯。

[參考文獻]

[1]陳剛.Web系統安全問題與防護機制研究[J].無線互聯科技,2019(15):108-109.

[2]阿里云安全團隊.2019年上半年Web應用安全報告[EB/OL].(2019-07-12)[2019-12-20].https://www.secpulse.com/archives/109268.html.

[3]丁潔.基于Shiro的Web應用安全框架設計研究[J].信息與電腦,2018(3):38-39.

Research on Web application security mechanism based on SSM

Ke Fenfen, Liu Zhihua

(Jiangxi Modern Polytechnic College, Nanchang 330095, China)

Abstract:With the continuous development of Internet technology, Internet applications with Web environment as an entry point are becoming more and more popular, which makes Web application security a hot spot. This paper mainly studies how to integrate the protection code of Shiro security framework and some Web vulnerability attacks in the SSM, aiming to design a robust and flexible web application security solution.

Key words:Web security; Shiro; Spring+SpringMVC+MyBatis

主站蜘蛛池模板: 亚洲日本精品一区二区| 亚洲欧美色中文字幕| 欧美第九页| 91精品免费高清在线| 奇米精品一区二区三区在线观看| 99久久精品免费视频| 亚洲福利一区二区三区| 婷婷五月在线| 澳门av无码| 女人18毛片久久| 欧美一级片在线| 一本一道波多野结衣一区二区 | 国产一区二区网站| 久久黄色影院| 综合色区亚洲熟妇在线| 国产爽歪歪免费视频在线观看 | 亚洲精品无码不卡在线播放| 制服丝袜 91视频| 男女性午夜福利网站| 四虎免费视频网站| 日韩精品一区二区三区swag| 国产91精品调教在线播放| 人妻21p大胆| 九九九国产| 国产精品3p视频| 国产一线在线| 亚洲男人的天堂在线| 中文字幕2区| 日韩欧美在线观看| 久久久久无码国产精品不卡| 在线毛片免费| 亚洲国产精品美女| 久久无码高潮喷水| 日本在线亚洲| 67194在线午夜亚洲| 亚洲综合亚洲国产尤物| 青青久久91| 欧美亚洲国产一区| 亚洲系列中文字幕一区二区| 人妖无码第一页| 欧美日本二区| 国产国产人成免费视频77777 | 伊人网址在线| 九色视频线上播放| 日本精品视频| 亚洲综合极品香蕉久久网| 四虎国产精品永久在线网址| 99久久精品免费观看国产| 久青草网站| 亚洲天堂成人在线观看| 亚洲成年人片| 国产激情第一页| 午夜国产精品视频黄| 久久精品91麻豆| 亚洲最黄视频| 亚洲国产天堂久久九九九| 欧美综合中文字幕久久| 欧美精品亚洲精品日韩专区| 国产成人区在线观看视频| 日韩精品一区二区三区中文无码 | 久久婷婷人人澡人人爱91| 色天堂无毒不卡| 国产AV无码专区亚洲A∨毛片| 国产精品亚洲va在线观看 | 99视频国产精品| 在线精品视频成人网| 四虎免费视频网站| 激情乱人伦| 超薄丝袜足j国产在线视频| 亚洲精品午夜天堂网页| 4虎影视国产在线观看精品| 婷婷中文在线| 天堂久久久久久中文字幕| 亚洲国产日韩在线观看| 中文字幕无线码一区| 天天爽免费视频| 久久久久青草大香线综合精品 | 久久综合亚洲色一区二区三区| 国产丰满成熟女性性满足视频| 激情亚洲天堂| 日韩毛片视频| 玖玖免费视频在线观看|