五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動態(tài)

防止xss攻擊的有效方法

發(fā)布日期:2021-12-10 08:56 | 文章來源:源碼之家

最近,有個項目突然接到總部的安全漏洞報告,查看后知道是XSS攻擊。

問題描述:

在頁面上有個隱藏域:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <inputtype="hidden"id="action"value="${action}"/>  

當(dāng)前頁面提交到Controller時,未對action屬性做任何處理,直接又回傳到頁面上

如果此時action被用戶惡意修改為:***"<script>alert(1);</script>"***

此時當(dāng)頁面刷新時將執(zhí)行alert(1),雖然錯誤不嚴(yán)重,但是任何安全隱患都應(yīng)受到重視。

解決思路:

該問題是由于對用戶輸入數(shù)據(jù)(隱藏域)未做任何處理,導(dǎo)致非法數(shù)據(jù)被執(zhí)行,那么解決該問題的核心思路就是對用戶數(shù)據(jù)做嚴(yán)格處理,對任何頁面?zhèn)鬟f的數(shù)據(jù)都不應(yīng)過分信任,處理方法如下:

1.在頁面上對action參數(shù)做轉(zhuǎn)義處理,${action?html}(前端技術(shù)采用freemarker),但是此種方法只能對單個屬性有效,如果此時項目處于維護(hù)期且有大量此種問題,修復(fù)的難度較大且不便于統(tǒng)一維護(hù)

2.在服務(wù)端對用戶數(shù)據(jù)做轉(zhuǎn)義處理,此時需要創(chuàng)建一個filter,對request進(jìn)行二次封裝,核心代碼如下:

Java Code復(fù)制內(nèi)容到剪貼板
  1. importjavax.servlet.http.HttpServletRequest;
  2. importjavax.servlet.http.HttpServletRequestWrapper;
  3. importorg.apache.commons.lang3.StringEscapeUtils;
  4. publicclassXssRequestWrapperextendsHttpServletRequestWrapper{
  5. publicXssRequestWrapper(HttpServletRequestrequest){
  6. super(request);
  7. }
  8. publicStringgetParameter(Stringname){
  9. Stringvalue=super.getParameter(name);
  10. if(value==null){
  11. returnnull;
  12. }
  13. returnStringEscapeUtils.escapeHtml4(value);
  14. }
  15. publicString[]getParameterValues(Stringname){
  16. String[]values=super.getParameterValues(name);
  17. if(values==null){
  18. returnnull;
  19. }
  20. String[]newValues=newString[values.length];
  21. for(inti=0;i<values.length;i++){
  22. newValues[i]=StringEscapeUtils.escapeHtml4(values[i]);
  23. }
  24. returnnewValues;
  25. }
  26. }

XssRequestWrapper是對request進(jìn)行的二次封裝,最核心的作用是對request中的參數(shù)進(jìn)行轉(zhuǎn)義處理(需要用到commons-lang3.jar)

定義filter,核心的代碼如下:

Java Code復(fù)制內(nèi)容到剪貼板
  1. @Override
  2. publicvoiddoFilter(ServletRequestrequest,
  3. ServletResponseresponse,
  4. FilterChainchain)throwsIOException,ServletException{
  5. HttpServletRequestreq=(HttpServletRequest)request;
  6. chain.doFilter(new<spanstyle="color:#000000;">XssRequestWrapper</span>(req),response);
  7. }

在web.xml中配置指定請求進(jìn)行過濾,可以有效防止xss攻擊,希望本文所述對大家熟練掌握防止xss攻擊的方法有所幫助。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部