网络安全

-

XSS

  • XSS攻击是Web攻击中最常见的攻击方法之一,它是通过对网页注入可执行代码且成功地被浏览器 执行,达到攻击的目的,形成了一次有效XSS攻击。
  • XSS一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等,有时候还和其他攻击方式同时实施,比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼
  • 它可以分为两类:反射型和持久型
  • 反射型XSS攻击场景:用户点击嵌入恶意脚本的链接,攻击者可以获取用户的cookie信息或密码等重要信息,进行恶性操作
  • 解决方案:开启cookie的HttpOnly属性,禁止客户端JavaScript脚本读取cookie信息
  • 持久型XSS攻击场景:攻击者提交含有恶意脚本的请求(通常使用script标签),此脚本被保存在数据库中。用户再次浏览页面,包含恶意脚本的页面会自动执行脚本,从而达到攻击效果。这种攻击常见于论坛,博客等应用中
  • 解决方案:前端提交请求时对一些特殊字符进行转义,或者是后台存储数据时进行特殊字符转义

CSRF

  • CSRF,Cross-site request forgery,跨站请求伪造。这种方式是恶意网站利用浏览器的cookie或服务器的session策略,盗取用户信息,模拟用户向第三方网站发送恶意请求

  • http请求是无状态的,也就是说每次http请求都是独立的无关之前的操作的,但是每次http请求都会将本域下的所有cookie作为http请求头的一部分发送给服务端,所以服务端就根据请求中的cookie存放的sessionid去session对象中找到该用户数据

  • 解决方案:提交请求中携带Token,并且每次请求的Token值都是合法的随机数

  • CSRF 和 XSS 的区别

  1. CSRF是跨站请求伪造; XSS是跨域脚本攻击。
  2. CSRF需要用户先登录网站A,获取cookie; XSS不需要登录。
  3. CSRF是利用网站A本身的漏洞,去请求网站A的api; XSS是向网站A注入JS代码,然后执行JS里的代码,篡改网站A的内容。(XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。你可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求。)

点击劫持

  • 点击劫持(ClickJacking)是一种视觉上的欺骗手段。大概有两种方式,一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义
  • 解决方案: (X-Frame-Options)这个可以说是为了解决ClickJacking而生的
    是一个HTTP响应头,在现代的浏览器中有一个较好的支持。它就是为了防御用iframe嵌套的点击劫持攻击,该响应头有三个值可选,分别是
    • DENY 表示页面不允许通过iframe的方式展示,(浏览器会拒绝当前页面加载的任何iframe)
    • SAMEORIGIN 表示页面可以在相同域名下通过iframe的方式展示,(frame页面的地址只能为同源域名下的页面)
    • ALLOW-FROM 表示页面可以在指定来源的iframe中展示

DDOS攻击

  • DDOS:分布式拒绝服务攻击(Distributed Denial of Service),简单说就是发送大量请求是使服务器瘫痪。DDos攻击是在DOS攻击基础上的,可以通俗理解,dos是单挑,而ddos是群殴,因为现代技术的发展,dos攻击的杀伤力降低,所以出现了DDOS,攻击者借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标进行攻击。
  • 最直接的方法增加带宽。但是攻击者用各地的电脑进行攻击,他的带宽不会耗费很多钱,但对于服务器来说,带宽非常昂贵。
  • 云服务提供商有自己的一套完整DDoS解决方案,并且能提供丰富的带宽资源

SQL注入

  • 攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来非法获取数据库信息以及对数据库进行操作
  • 解决方案 :
    1. 对用户的输入进行校验
    2. 对主要信息加密

DNS挟持

钓鱼攻击

  • 攻击者会发送给受害者一个合法链接,当链接被点击时,用户被导向一个似是而非的非法网站,从而达到骗取用户信任、窃取用户资料的目的
  • 解决方案: 对所有的重定向操作进行审核,以避免重定向到一个危险的地方;重定向token,在合法的url上加上token,重定向时进行验证

控制台注入代码

  • 不法分子通过各种提示诱骗用户在控制台做一些操作,从而获取用户信息。
  • 我们最好在控制台对用户进行友好的提示,不要轻易相信这种提示灯