更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号
分类: 网络与安全
2021-10-08 16:31:51
想必很多人都看到过SQL注入、XSS以及CSRF这三个词,但大部分人对它根本不了解,甚至不知道其含义是什么。接下来,小编为大家详细介绍一下什么是SQL注入、XSS以及CSRF?不知道的人快来看看吧。
SQL注入
SQL注入属于注入式攻击,这种攻击是因为在项目中没有将代码与数据隔离,在读取数据的时候,错误的将数据作为代码的一部分执行而导致的。
如何处理SQL注入情况?三个方面:
1、过滤用户输入参数中的特殊字符,降低风险;
2、禁止通过字符串拼接sql语句,严格使用参数绑定来传入参数;
3、合理使用数据库框架提供的机制。
XSS
XSS,跨站脚本攻击,Cross-Site Scripting,为了和前端的CSS避免重名,简称为XSS,是指通过技术手段,向正常用户请求的HTML页面中插入恶意脚本,执行。
这种攻击主要是用于信息窃取和破坏等目的。在防范XSS上,主要就是通过对用户输入的数据做过滤或者或者转义,可以使用框架提供的工具类HTML Util,另外前端在浏览器展示数据的时候,要使用安全的API展示数据。比如使用inner text而不是inner HTML。
CSRF
跨站请求伪造,在用户并不知情的情况下,冒充用户发送请求,在当前已经登录的Web网站上执行恶意操作,比如恶意发帖,修改密码等。
大致来讲,与XSS有重合的地方,前者是黑客盗用用户浏览器中的登录信息,冒充用户去执行操作;后者是在正常用户请求的HTML中放入恶意代码,XSS问题出在用户数据没有转义,过滤;CSRF问题出现在HTTP接口没有防范不守信用的调用。
防范CSRF漏洞方式:
1、CSRF Token验证,利用浏览器的同源限制,在HTTP接口执行前验证Cookie中的Token,验证通过才会继续执行请求。
2、人机交互,比如短信验证码、界面的滑块等。