亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SSM框架的Web應(yīng)用安全機(jī)制研究

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

        柯芬芬,劉志華

        摘 要:隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,以Web環(huán)境作為切入點(diǎn)的互聯(lián)網(wǎng)應(yīng)用也越來越普及,使得Web應(yīng)用安全成為時(shí)下的熱點(diǎn)。文章主要研究如何在SSM框架中融合Shiro安全框架和部分Web漏洞攻擊的防護(hù)代碼,旨在設(shè)計(jì)出一個(gè)健壯性強(qiáng)、靈活性高的Web應(yīng)用安全方案。

        關(guān)鍵詞:Web安全;Shiro;SSM框架集

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

        1 關(guān)鍵技術(shù)介紹

        1.1 常見的Web安全漏洞

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

        1.1.1 SQL注入攻擊

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

        1.1.2 XSS攻擊

        XSS攻擊又稱跨站腳本攻擊,之所以簡(jiǎn)寫為XSS,是為了與層疊樣式表(Cascading Style Sheets,CSS)的縮寫區(qū)分開來。XSS攻擊是指攻擊者巧妙地將惡意腳本代碼注入Web網(wǎng)頁(yè)中,當(dāng)用戶瀏覽加載網(wǎng)頁(yè)時(shí),程序會(huì)自動(dòng)執(zhí)行惡意代碼,從而實(shí)現(xiàn)對(duì)用戶瀏覽器的控制,以此來達(dá)到攻擊的目的。

        1.1.3 文件上傳漏洞攻擊

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

        1.2 SSM

        SSM框架采用了標(biāo)準(zhǔn)的MVC模式,將Web系統(tǒng)劃分為View表示層、Controller控制層、Service業(yè)務(wù)邏輯層、DAO數(shù)據(jù)訪問層4層。融合MVC設(shè)計(jì)模式的目的在于后臺(tái)開發(fā)人員只需重點(diǎn)關(guān)注具體的業(yè)務(wù)邏輯,前端開發(fā)人員只關(guān)注數(shù)據(jù)的表現(xiàn)形式即可,大大縮減了Web系統(tǒng)的開發(fā)時(shí)間。

        Spring是一個(gè)可以用來生產(chǎn)bean的工廠輕量級(jí)框架,幫助創(chuàng)建對(duì)象以及管理對(duì)象之間的依賴關(guān)系,降低對(duì)象之間的耦合度,從而簡(jiǎn)化企業(yè)級(jí)Web應(yīng)用程序開發(fā)。Spring MVC是Spring框架提供的一個(gè)實(shí)現(xiàn)了Web MVC設(shè)計(jì)模式的輕量級(jí)Web框架,主要負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理。Mybatis框架是當(dāng)前Web應(yīng)用開發(fā)中流行的一種持久化ORM框架,其對(duì)JDBC進(jìn)行了封裝與簡(jiǎn)化,開發(fā)者無需編寫相關(guān)JDBC的繁瑣代碼,只須關(guān)心如何編寫SQL語句即可。

        1.3 Shiro

        Shiro是一個(gè)強(qiáng)大且易用的Java安全框架[3],能夠?yàn)槊钚袘?yīng)用、移動(dòng)應(yīng)用、大型網(wǎng)絡(luò)應(yīng)用以及企業(yè)應(yīng)用提供安全保障。Shiro提供身份認(rèn)證、授權(quán)、加密以及會(huì)話管理等功能,其中Shiro的認(rèn)證功能主要是對(duì)用戶的登錄操作進(jìn)行認(rèn)證,驗(yàn)證用戶是否擁有系統(tǒng)相應(yīng)的身份,判斷登錄用戶是否合法;Shiro的授權(quán)功能主要是驗(yàn)證某個(gè)已認(rèn)證身份的用戶是否擁有某些內(nèi)容的訪問權(quán)限,也就說認(rèn)證用戶想要操作應(yīng)用程序資源的話需具備相應(yīng)的訪問權(quán)限;Shiro的會(huì)話管理功能主要是指用戶成功登錄應(yīng)用后,在未退出應(yīng)用前,其所有信息都保存在會(huì)話中,這樣在多次交互過程中,應(yīng)用就能夠識(shí)別出當(dāng)前訪問的用戶到底是誰。

        2 基于SSM的Web應(yīng)用安全機(jī)制設(shè)計(jì)

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

        為了有效減少SQL,XSS注入的攻擊,開發(fā)者在編寫后臺(tái)代碼中應(yīng)該對(duì)用戶提交的數(shù)據(jù)進(jìn)行相應(yīng)的過濾和驗(yàn)證,盡可能減少被注入SQL和XSS代碼的風(fēng)險(xiǎn)。另外考慮在Mybatis框架中設(shè)計(jì)SQL注入漏洞修復(fù)方案,在Spring框架的Java后臺(tái)接口層面中設(shè)計(jì)自定義攔截器類來防止SQL和XSS代碼的注入。

        3 基于SSM的Web應(yīng)用安全機(jī)制實(shí)現(xiàn)

        3.1 集成SQL/XSS注入攻擊的防護(hù)代碼

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

        另外,還需要考慮在Mybatis框架中設(shè)計(jì)SQL注入漏洞修復(fù)方案,主要是在進(jìn)行模糊查詢like時(shí),采用預(yù)編譯機(jī)制來避免SQL語句拼接的問題。在使用in語句進(jìn)行多值查詢時(shí),可使用Mybatis自帶循環(huán)指令解決SQL語句動(dòng)態(tài)拼接的問題。

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

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

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

        第三步:Web后臺(tái)代碼對(duì)上傳的文件按照一定規(guī)則進(jìn)行重命名,且禁止用戶修改文件名。另外,文件上傳成功后將真實(shí)上傳路徑和訪問路徑做一個(gè)映射,當(dāng)用戶在線預(yù)覽或者下載文件時(shí),直接暴露訪問路徑給用戶即可。

        3.3 實(shí)現(xiàn)SSM框架與Shiro安全框架的整合

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

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

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

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

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

        4 結(jié)語

        在設(shè)計(jì)基于SSM框架的Web應(yīng)用安全機(jī)制過程中,一方面采用當(dāng)前主流的SSM框架來提高項(xiàng)目的開發(fā)效率,另一方面融合Shiro安全框架、SQL注入攻擊、XSS注入攻擊和文件上傳漏洞防護(hù)代碼來加強(qiáng)Web系統(tǒng)的安全性能。由于篇幅有限,本文僅列出Web應(yīng)用安全機(jī)制的具體通用設(shè)計(jì)與實(shí)現(xiàn)步驟。

        基金項(xiàng)目:江西省高校教改課題項(xiàng)目資助;項(xiàng)目編號(hào):JXJG-18-50-1。江西省教育廳科學(xué)技術(shù)研究項(xiàng)目資助;項(xiàng)目編號(hào):GJJ181281。

        作者簡(jiǎn)介:柯芬芬(1992— ),女,江西九江人,軟件設(shè)計(jì)師,碩士;研究方向:信息安全,移動(dòng)互聯(lián)。

        [參考文獻(xiàn)]

        [1]陳剛.Web系統(tǒng)安全問題與防護(hù)機(jī)制研究[J].無線互聯(lián)科技,2019(15):108-109.

        [2]阿里云安全團(tuán)隊(duì).2019年上半年Web應(yīng)用安全報(bào)告[EB/OL].(2019-07-12)[2019-12-20].https://www.secpulse.com/archives/109268.html.

        [3]丁潔.基于Shiro的Web應(yīng)用安全框架設(shè)計(jì)研究[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

        国产综合精品久久99之一| 爱v天堂在线观看| 日本高清无卡一区二区三区| 国产自拍偷拍精品视频在线观看| 久久久久亚洲精品无码网址蜜桃 | 免费无码AⅤ片在线观看| 日本免费视频一区二区三区| 无码人妻h动漫中文字幕| 精品成人乱色一区二区| 国产三级精品美女三级| 国产黄色一区二区三区av| 99999久久久久久亚洲| 中文字幕亚洲乱码熟女在线萌芽| 最新国产成人综合在线观看| 国产精品高清国产三级国产av| 无码人妻久久一区二区三区蜜桃| 久久久久亚洲av无码专区体验| 亚洲综合一| 亚洲国产精品av麻豆网站| 影视av久久久噜噜噜噜噜三级| 精品久久久久久久久久久aⅴ| 素人系列免费在线观看| 美女主播网红视频福利一区二区| 亚洲午夜福利在线视频| 乱子伦av无码中文字幕| 国产女主播大秀在线观看| 午夜爽爽爽男女免费观看影院| 丰满女人又爽又紧又丰满| 亚洲AV秘 片一区二区三区| 在线精品国产亚洲av麻豆| 国产成+人欧美+综合在线观看 | 人妻少妇中文字幕,久久精品 | 精品久久久久久99人妻| 国产精品国产三级国产专区不| 丁香六月久久婷婷开心| 亚洲欧美中文在线观看4| 亚洲精品综合久久中文字幕| 少妇被爽到高潮喷水久久欧美精品| 亚洲精品国产v片在线观看| 美女福利一区二区三区在线观看 | 中日av乱码一区二区三区乱码|