java开发常见漏洞及处理说明_第1页
java开发常见漏洞及处理说明_第2页
java开发常见漏洞及处理说明_第3页
java开发常见漏洞及处理说明_第4页
java开发常见漏洞及处理说明_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java 常见漏洞及处理说明杨博本文专门介绍针对 javawebjavaweb 程序常见高危安全漏洞(如:SQLSQL注入、XSSXSS 跨站脚本攻击、文件上传)的过滤和拦截处理,确保系统能够安全的运行。一.SQL 注入(SQLInjection)经分析确认本系统对 SQLSQL 注入做了相应的过滤处理,可以有效应对 SQLSSQLS 入攻击,确保系统安全。详细说明:攻击方式:所谓SQL注入式攻击,就是的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。防御方式:对用户输入或请求进行预验证处理,过滤掉可能造成恶意 SQLSQL 的字符。本系统属于政府部门门户网站,用户发布的是新闻动

2、态,不会涉及到学术研究 SQLSQL 方面的东西,所以本系统采用过滤器的方式对用户输入或请求进行过滤处理,如果输入或请求涉及恶意 SQLSQL 方面的字符将一律过滤掉,这不会影响用户的使用,同时确保了系统的安全。系统配置文件 web.xmlweb.xml 初始化时同时初始化过滤器,过滤器起到全局作用,并设置为针对所有请求。七1一防止腿工注入的过滤器一,com*jeecns.ccnunon.web.f11wer-clas3filturl-过滤器 AntiSqlInjectionfilter:针对所有请求过滤器qllnjection-prnpublicclassAnt1SqlInjectionfl

3、iter1mplenientspublicvoiddestroy()/TODOAuto-generatedmethcdstubpublicvoidinit(FilterCorifigargOthrowsServletException/TODOAuco-generaedmethodstubpublicvoiddoFilcer(ServleRequestServleERespanseargjslFilterChainchain)throwslOExceptionjrServletExceptionHttpServletRequestreq=(HttpServletRequestJjargaO;H

4、EtpServlerResponseres(HctpServlecResponse)argsl;/获得所有请求参数名Enumerationparams=req.getParair.eterNain.e3);Scringsql;while(Farains.hasMoreEleiiienrs()/得到参触名Stringname.parains*nextElerr.ent0*coString();/System,cut print.Xn(“口am已=时+name+/福熊数对应值Stririgvalue=req-getParajneterValues(name);for(int1=Q;ivalue.l

5、ength;i+)jql-sql+valueij;/Syacn*outprintlnC+3(1;/有怒区关键字,跳转到曰工工口工.titmlif(rglVali-date(3ql),throwTIJEW工QExs叩5所 L 您发送话求中的妻数中含有非法字济府”/String线二号q q号7:RcmtiRodT4;3elseCchain,doFiIter(argsDPargs1):/效瞄amt&ateda-tatiabooleansalVa.Llilai:e1SLclctgatr)scr*境一专专为小写3匕士工agh&diSc-r三|三冀白亡|executejinsert|ael

6、ecE-jdle匕型|updAtEjeaum|drop|*I%ichtlaid|ter|匕亡由 亡由E-e|+char|d-clare|sitenanue|的2匕LL9e|Mp_=m-L5h.ell|;|or|-|+1|Ixke8|and|exec|exemate|insert|create|zlrcp|r,+11table|rotE.|grant|use|grcup_cc!n.cat|CDT.iaTin_-am.eJn+*mfonT-at.!,L_sich.emji-ccLjmns|table_3ch.enia.|UEiianwhere.select|delete|update|ardsz|

7、hy|EOLLnt.|*|H+*chr|nu.d|M-icer|trumcHte|char|deciare|or|;|-|一|+|t|like|/|/11;|*j/过波阵的工眼亲健字:!可以下动添加String)badSr:-badStr.jsplit|HJ;f-erinti*OJibo心tin,tungi;:i+*JCifJtrrindexOtb.dStr-3i|K3treWmtmejretornfailees二.XS 敛击(DOMXSSStoredXSS、ReflectedXSS)经确认本系统已对 XSStXSSt 击做了拦截及过滤处理,达到了有效对抗 XSStXSSt 击的效果,确保系统

8、的安全。详细说明:攻击方式:XSSXSS 又称 CSSCSS 全称 CrossSiteScriptCrossSiteScript,跨站脚本攻击,是 WebSWebS 序中常见的漏洞,XSSXSS 属于被动式且用于客户端的攻击方式,所以容易被忽略其危Filter害性。其原理是攻击者向有 XSSXSS 漏洞的网站中输入(传入)恶意的 HTMLHTML 弋码,当其它用户浏览该网站时,这段 HTMLHTML 弋码会自动执行,从而达到攻击的目的。如,盗取用户 CookieCookie、破坏页面结构、重定向到其它网站等。防御方式:需要对用户的输入进行处理,只允许输入合法的值,其它值一概过滤掉。本系统提供了

9、专门的针对 XSSXSS 攻击的过滤器,过滤掉了 html/javaScripthtml/javaScript 中的标签符号,防止恶意 HTMLHTML 弋码。系统配置文件 web.xmlweb.xml 初始化时同时初始化过滤器,过滤器起到全局作用,并设置为针对所有请求。-防止XSB攻击的过漉器一XB3Filtercom.jeecms.coiriLon.web*XssFilterexcludeUrls=ram-viL2e/meiiijDer/contrparinrVralueaiE-irr.SplicChar/pararr.-FilteTChar1fix/param-valueKcplaceC

10、harwg#g:Z%ajn-valeilter-mappingXssFilter*.jspxc/url-patten1fxx*针对所有清亲filcer-r.M-er点击进入过滤器类 XssFilterXssFilteriHportjrio,iOExe4it.icin;nlEiplcriteintB:Fllt-erprivatiC5ErljvjCllrerCbazj!privateStaringrcpl4aeCbar;private:5Ering-JFllrCh&z;privHiteStringeKGljdeUris;FllcerCunfigfilrezCanf3.gnnll;pobli

11、avoidiiut(FiltecCoafigfiLterCcuEigFthrcrsrBServlet-Ex-Mptian4thti.fHECEOiAi:llXrCcinfL.gi(1灯EXInlrF-E询T;1|*ELLcitxZhbxn);tbis.rplaceOiar-fliterCcrnfLUuetIiu.tariJT.e,cer|ReplaccilLarJ;thia.iplitC2Mt!:ClT:*TCQFif1g.B-EIHIEFAtrAirjetAZ-11Vqp11匚OIHH11”tblviejccludeUzJ.tilGerCcDfig;(retlintf-az-ur.eEez|

12、u兀匚工支二e:Uzlm)彳tht*rf11MECOSI.ifl-filtitFCwfig;Jpnhllcvoidde-STzayn,tltrfllc.trCaneig力修Li:pabLicvoiddieFilterSterTle-Recjuesi:reqiiejr,;SerTle-ReispDi-aezejpaziae,.nicerZKaliLcJuulnFthramIDEcepi:ioiirSezvlerExcepclQDif1ifffjcludcVrl(EequesC-J)Cszh&in.dfiFilrerfrequeue,rtsFczisehlseCJLB.111.SFilre

13、r|newXssEcEpSexvlei:3LcqTje3T;iara:pper1E匚tpSesvleriiequeac:rie:qE.e-31:rflIteEOiazrrepla.ceCh.a.r,.aplitOiz卜rreapanse)privatebooleanxsExcludeUrl(ServleLPlequescrequ.e5Ljboolean.exclu.de=false;if(StringUtils,i5NotBlanA(excludeUrlsJStringeKcludeUrl=eMcludeUrls split(splitChar:ifiexcludeUrl!=nul1s:5ex

14、aludeUr1rl-ength0)for(Stringurl:excludeUrl)if(URLHelpex,getDRI(HttpServletRequest)request) startsWith(url)exclude=tme;returneKQrlude;针对 HttpRequestHttpRequest 请求pnblicclassXssHttpServletRequeatKrapperextendsHttpServletRequestXrapperprivateStringfilcerChars;privateString(replaceChars;publicXssHttpSer

15、vletRequestWrapper(HttpServletRequestrequest,StrinqfilterChar,SerinareplaceChar,StrinqsplitChar)nupcr(rcquejc);if(filterChar!null&ilterChar.length()0rxizerChara-filterChar.splitopliChar);ir( (replaceChar!null44replaceChar.length()0)replaceChars-replaceChax.split(aplitChax);publicSerinaaetQuerySt

16、rlna()(Stringvaluesuper.gecQueryScr();if(value!-null.)vaiu.xEncod(vlu) );returnvalue;*董aecP学:皿ete1方法,将等数名和袋韵ffl都他xss过渡。*如果需要荻用原始的值,则通过super.gecParaxeceduc(nag)来荻取vbr/*ParamtrM*ma#P r和P r也向能再奖整釜/publicStringqetPazameter(Stringnase)Stringvaluesuper.gecPararrcer(xssEncode(nawe):if(value!-null)valuexssE

17、ncode(value):returnvalue;publicStringgetParameterValues(Stringname)Soringparameters-super,getParameterValues(name);if(parametersnull|parameters.length-0)returnnull;)for(int1=0;1parameters.length;1+)parameters(i=xssEncode(parametersi);returnparameters;*覆盖gzHyier万法,将参数名和参数值都做灯号过滤。如果需要获得原始的值,则通过supp工.g

18、zHBadus(name)来获取8工/getHeaderNames也可能需要覆盖*/publicSoringgetHeader(Stringname)Stringvalue=super.gecHeader(xssEncode(name);if(value!=null)value=xssEncode(value);returnvalue;将容易引起其短漏洞的半角字符直接替换成全角字符*params*return*/privateStringxssEncode(Stringsif=null|5.equals(,hH)returns;try(shUEtLDecoder,decode(sFUTF):catch(UnsuppartedEncadingExcepticne)/TODOAuto-generatedcatchblock:eiprintStack:Trace();torint1=0;ifllterChars.length;1+if(a,contains(filterChars11)B=B.replace(filterChar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论