SQL注入、XSS和CSRF指的是什么意思

35次阅读
没有评论

共计 1124 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍 SQL 注入、XSS 和 CSRF 指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

SQL 注入

SQL 注入是属于注入式攻击,这种攻击是因为在项目中没有将代码与数据(比如用户敏感数据)隔离,在读取数据的时候,错误的将数据作为代码的一部分执行而导致的。

典型的例子就是当对 SQL 语句进行字符串拼接的时候,直接使用未转义的用户输入内容作为变量。这时,只要在 sql 语句的中间做修改,比如加上 drop、delete 等关键字,执行之后后果不堪设想。

说到这里,那么该怎么处理这种情况呢?三个方面:

1、过滤用户输入参数中的特殊字符,降低风险。

2、禁止通过字符串拼接 sql 语句,要严格使用参数绑定来传入参数。

3、合理使用数据库框架提供的机制。就比如 Mybatis 提供的传入参数的方式 #{},禁止使用 ${},后者相当于是字符串拼接 sql,要使用参数化的语句。

总结下,就是要正确使用参数化绑定 sql 变量。

XSS

XSS:跨站脚本攻击,Cross-Site Scripting,为了和前端的 css 避免重名,简称为 XSS,是指通过技术手段,向正常用户请求的 HTML 页面中插入恶意脚本,执行。

这种攻击主要是用于信息窃取和破坏等目的。比如 2011 年的微博 XSS 攻击事件,攻击者利用了微博发布功能中未对 action-data 漏洞做有效的过滤,在发布微博信息的时候带上了包含攻击脚本的 URL,用户访问就会加载恶意脚本,导致大量用户被攻击。

关于防范 XSS 上,主要就是通过对用户输入的数据做过滤或者是转义,可以使用框架提供的工具类 HtmlUtil。另外前端在浏览器展示数据的时候,要使用安全的 API 展示数据。比如使用 innerText 而不是 innerHTML。

CSRF

跨站请求伪造,在用户并不知情的情况下,冒充用户发送请求,在当前已经登录的 web 网站上执行恶意操作,比如恶意发帖,修改密码等。

大致来看,与 XSS 有重合的地方,前者是黑客盗用用户浏览器中的登录信息,冒充用户去执行操作。后者是在正常用户请求的 HTML 中放入恶意代码,XSS 问题出在用户数据没有转义,过滤;CSRF 问题出现在 HTTP 接口没有防范不守信用的调用。

防范 CSRF 的漏洞方式:

1、CSRF Token 验证,利用浏览器的同源限制,在 HTTP 接口执行前验证 Cookie 中的 Token,验证通过才会继续执行请求。

2、人机交互,例如短信验证码、界面的滑块。

以上是“SQL 注入、XSS 和 CSRF 指的是什么意思”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-18发表,共计1124字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)