[关闭]
@windchimes 2019-05-15T10:24:58.000000Z 字数 956 阅读 358

常见的前端攻击方式

前端新知识


前端常见的攻击方式大概有6种,分别是XSS攻击,CSRF攻击,点击劫持攻击,URL跳转漏洞,SQL注入式攻击,OS注入式攻击

  1. XSS攻击
    xss攻击(跨站脚本攻击),又分反射性攻击和持久性攻击
    原理:攻击者往web页面里面插入恶意可执行网页脚本代码
    反射型攻击途径:一般是通过发送带有攻击性的url地址,url被解析时,特有的恶意代码参数就会被HTML解析、执行
    反射型攻击防范策略:web端j尽量保证页面的渲染内容或者渲染的数据都是来自于服务端
    尽量不要从URL,document.referrer document.forms等这种DOM API中获取数据
    尽量不要使用eval new Function() document.write() 等可执行字符串的方法
    对传入的字符串参数做escape转义
    持久型攻击途径:一般就是Form表单提交等交互功能
    持久型攻击防御方法:CSP,就是开白名单,可以通过设置http的协议头Header的context-security-policy字段来实现;
    前端校验用户输入的内容并对特殊字符进行转义;
    后端校验前端传输的数据;
    前端使用接口数据时也要对某些特殊字符进行转义;
    httpOnly cookie
  2. CSRF攻击
    跨站请求伪造,利用用户已经登录的身份,在用户不知情的情况下,以用户的名义进行攻击
    攻击过程:用户已登录,并保持登录状态的情况下,访问了有危险的网站,这时就可以借由用户去攻击安全的网站
    防范策略:Get请求不对数据进行修改;不让第三方网站访问用户cookie;阻止第三方网站请求接口;token;验证码;header中添加访问限制Referer,比如同源网页才允许访问等
  3. 点击劫持攻击
    利用iframe嵌套安全网页,并把iframe设为透明,即可进行攻击
    防范策略:self.location=top.location;
  4. URL跳转漏洞进行攻击
    防范策略:
    http协议头header的同源策略
  5. SQL注入攻击
    利用SQL语句的漏洞,对其进行攻击,比如输入admin ' --
    防范策略:
    后端对前端的传递数据进行校验,比如利用正则
    后端对某些特殊字符进行转义
    后端不直接使用前端传递过来的信息
  6. OS注入攻击
    和SQL注入同样原理,只不过其注入后操作的不再是数据库,而是用户的操作系统及各个操作软件
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注