springboot 实现防止xss攻击和sql注入

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Michaeles/article/details/85267632

一、xss攻击和sql注入(可以使用IBM安全漏洞扫描工具)

(1)XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞。XSS通过在用户端注入恶意的可运行脚本,若服务器端对用户输入不进行处理,直接将用户输入输出到浏览器,则浏览器将会执行用户注入的脚本。

//通过表单将以下代码保存到数据库,在页面上一个div元素内显示以上内容

<script>for(var i=0;i<1000;i++){alert("弹死你"+i);}</script>

(2)sql注入

将恶意sql注入到请求中,从而达到欺骗服务器执行恶意的SQL命令。

二、springboot实现xss攻击和sql注入原理

1.通常过滤器得周期分为:

(1)初始化init()在容器启动的时候执行

(2)doFilter()是过滤器的主要方法

(3)析构destroy():容器紧跟在垃圾收集之前调用 destroy()方法

2.Filter负责将请求的request进行包装,定义了XSS请求入口。

扫描二维码关注公众号,回复: 4737259 查看本文章

(1)chain.doFilter(request,response)方法确保调用的方法(request.getParameter,getParameterValues,getHeader)都是XssHttpServletRequestWrapper重写的方法,且获取的参数都是已经进行过滤的内容,进而消除了敏感信息。一般filter都是一个链,web.xml 里面配置了几个就有几个,request -> filter1 -> filter2 ->filter3 -> .... -> request resource

3.另一个是request包装器,负责过滤掉非法的字符。通过XssHttpServletRequestWrapper将HttpServletRequest进行了封装。实现对请求内的参数进行过滤。

三、springboot的xss攻击和sql注入代码实现

猜你喜欢

转载自blog.csdn.net/Michaeles/article/details/85267632
今日推荐