浏览器安全

浏览器安全

SQL注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

XSS攻击

XSS攻击指的是跨站脚本攻击,是一种代码注入攻击。攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如cookie等。

XSS的本质是因为网站没有对恶意代码进行过滤,与正常的代码混合到了一起,浏览器没有办法分辨哪些脚本是可信的,从而导致了恶意代码的执行。

攻击者可以通过这种攻击方式进行以下操作

  • 获取页面数据:如DOM、localstroage、cooike
  • DOS攻击:发送合理请求,占用服务器资源,从而使用户无法正常访问服务器
  • 破坏页面结构
  • 流量劫持(将链接指向某网站)

攻击类型

XSS分为存储型、反射型、DOM型。

  • 存储型指的是恶意脚本会存储在目标服务器上,当浏览器请求数据时,脚本从服务器传回并执行。
  • 反射型指的是攻击者诱导用户访问一个带有恶意代码的 URL 后,服务器端接收数据后处理,然后把带有恶意代码的数据发送到浏览器端,浏览器端解析这段带有 XSS 代码的数据后当做脚本执行,最终完成 XSS 攻击。
  • DOM型指的通过修改页面的 DOM 节点形成的 XSS。

存储型和反射型的区别

  • 存储型是持久化的;反射型是非持久化的,需要欺骗用户点击URL
  • 存储型将恶意代码存放在目标网站的数据库中;反射型将恶意代码存储到URL中
  • 反射型常见于通过URL传递参数的功能,如网站搜索、跳转,需要用户主动打开恶意的URL才能生效。

DOM型与存储型、反射型的区别

DOM型跟前两种的区别在于:DOM型XSS攻击取出和执行恶意代码由浏览器端完成,属于前端JS自身的安全漏洞;而其他两种XSS都属于服务器端的安全漏洞

如何防御XSS攻击

  • 在进行数据获取渲染和字符串拼接的时候应该对可能出现的恶意代码情况进行判断。
  • 使用CSP。CSP的本质是建立一个白名单,告诉浏览器哪些外部资源可以加载和执行,从而防止恶意代码的注入攻击
  • 对敏感信息进行保护。如:进行人机验证,避免脚本伪装成用户执行一些操作。

CSRF攻击

CSRF攻击是指跨站请求伪造攻击。攻击者诱导用户进入一个第三方网站,然后该第三方网站向被攻击网站发送跨站请求。如果用户在被攻击网站中保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台用户验证,冒充用户向服务器执行一些操作。

CSRF的本质是在同源请求中cookie会携带发送给服务器的数据的特点,以此来实现冒充用户

攻击类型

常见的CSRF攻击有三种:

  • GET类型。比如在网站中的一个img标签里构建一个请求,当用户打开这个网站的时候就会自动发起请求。
  • POST类型。比如构建一个表单,然后隐藏它,当用户进入页面时,自动提交这个表单。
  • 链接类型。比如在a标签的href属性里构建一个请求,然后诱导用户去点击。

如何防御CSRF攻击

  • 进行同源检测。服务器根据 http 请求头中 origin 或者 referer 信息来判断请求是否为允许访问的站点,从而对请求进行过滤。当 origin 或者 referer 信息都不存在的时候,直接阻止请求。
  • 使用CSRF Token进行验证。服务器向用户返回一个随机数token,当用户再次发起请求时,在请求参数中加入服务器端返回的token,然后服务器对这个token进行验证。
  • 显示验证方法。添加验证码、密码等。

中间人攻击

中间人攻击是指攻击者与通讯的两端分别创建独立的连接,并交换其所接收到的数据,通讯两端认为他们正在通过一个私密的连接与对方直接对话。但事实上整个会话都被攻击者完全控制。攻击者可以拦截双方的通信内容并加入新的内容。

哪些可能引起前端安全问题

  • XSS
  • CSRF
  • 恶意第三方库

网络劫持有哪几种?如何防范

DNS劫持(例如:输入京东强制跳转到淘宝就属于DNS劫持)

  • DNS强制解析:通过修改运营商的本地DNS记录,来引导用户流量到缓存服务器
  • 302跳转方式:通过监控网络出口的流量,分析判断哪些内容是可以进行劫持处理的,再对劫持的内存发起302跳转的回复,引导用户获取内容。

HTTP劫持(例如:访问谷歌但一直弹出广告)
由于http时明文传输的,运营商会修改http相应内容(即加广告)

DNS劫持由于涉嫌违法,已被监管起来。而http劫持依然非常盛行,最有效的办法就是使用https,将http加密,使得运营商无法获取明文。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值