目标存在跨站脚本攻击。 1.跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。 2.跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。 危害: 1.恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。 2.恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash应用的漏洞来进行攻击,从而来达到获取其他的用户信息目的
解决办法
就是登陆的时候防止跨站脚本攻击
及登陆的时候做拦截器 以spring boot 为例
package com.vortex.cloud.ccx.product.interceptors; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration public class LoginConfiguration extends WebMvcConfigurerAdapter { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/frame/login"); } }
package com.vortex.cloud.ccx.product.interceptors; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //对特殊字符进行判断 String loginId = request.getParameter("loginId"); String password = request.getParameter("password"); String remember = request.getParameter("remember"); String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"; Pattern p = Pattern.compile(regEx); Matcher mLoginId=p.matcher(loginId); Matcher mPassword=p.matcher(password); Matcher mRemember=p.matcher(remember); if (mLoginId.find()||mPassword.find()||mRemember.find()){ response.sendRedirect("/frame/index"); return false; } return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
登陆的时候做个拦截