WEB安全

文章目录
  1. 1. CSRF 是什么?如何防范?
  2. 2. XSS 是什么?如何防范?
  3. 3. 什么是 SQL 注入?如何防范?
CSRF 是什么?如何防范?

CSRF(Cross-site request forgery)通常被叫做「跨站请求伪造」,可以这么理解:攻击者盗用用户身份,从而欺骗服务器,来完成攻击请求。

防范措施

  1. 使用验证码
  2. 给每一个请求添加令牌 token 并验证
XSS 是什么?如何防范?

XSS(Cross Site Scripting),跨站脚本攻击,攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该页之时,嵌入其中 Web 里面的 Script 代码会被执行,从而达到恶意攻击用户的目的。

XSS漏洞的出现简单来说,就是让不支持富文本的区域支持了富文本的执行,例如blog的标题是不支持富文本的,但由于页面显示时没去做处理,导致了可以在标题中嵌入像文本加粗、变颜色等等的普通HTML,当然,攻击者也就可以嵌入恶意的javascript了,例如获取你在当前网站的cookie的javascript:document.cookie等等,另外一种就是支持富文本的区域没有去过滤一些恶意的javascript,例如blog的文章内容中内嵌获取cookie等恶意的javascript代码。

防范措施

永远不要相信用户的输入数据,始终保持对用户数据的过滤。

什么是 SQL 注入?如何防范?

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,注入者可以在表单中输入一段数据库查询代码并提交,程序将提交的信息拼凑生成一个完整sql语句,服务器被欺骗而执行该条恶意的SQL命令。注入者根据程序返回的结果,成功获取一些敏感数据,甚至控制整个服务器,这就是SQL注入。

SQL 注入的常见场景

  • 数据库里被注入了大量的垃圾数据,导致服务器运行缓慢、崩溃。
  • 利用 SQL 注入暴露了应用程序的隐私数据

防范措施

  1. 保持对用户数据的过滤
  2. 不要使用动态拼装 SQL
  3. 增加输入验证,比如验证码
  4. 对隐私数据加密,禁止明文存储