有句话说基础不牢,地动山摇,不得不说,对于软件开发来说计算机基础知识的重要性是不言而喻的,今天来对XSS和CRSF来做一个知识的梳理,平时在实际项目中确实对于这方面的知识是没有意识的,当你懂的东西越多,了解的越多,才会心生敬畏之心,慢慢精益求精
XSS(Cross Site Scripting):跨站脚本攻击,为了不和前端开发中层叠样式表(CSS)冲突,简称为XSS,XSS是指黑客通过技术手段向正常用户请求的html页面中插入恶意脚本,主要用于信息窃取、破坏等目的
XSS问题出在用户数据没有过滤、转义
从技术上来说,后端Java开发人员、前端开发人员都有可能造成XSS漏洞
主要是对用户输入数据做过滤或者转义
HtmlUtils的Api地址:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/util/HtmlUtils.html
CSRF跨站请求伪造是指在用户并不知情的情况下,冒充用户发起请求,在当前已经登录的web应用程序上执行恶意操作
CSRF问题出现在HTTP接口没有防范不受信任的调用
从技术原理上来看:XSS是在正常用户请求的HTML页面中执行了黑客提供的恶意代码,CSRF是黑客直接盗用用户浏览器中的登录信息,冒充用户去执行黑客指定的操作