博客
关于我
常见WEB攻击及防御技术
阅读量:237 次
发布时间:2019-03-01

本文共 1035 字,大约阅读时间需要 3 分钟。

常见Web攻击及防御技术

XSS攻击

介绍

XSS(Cross-Site Scripting)攻击是通过在用户输入的内容中注入可执行的JavaScript代码,从而在用户浏览页面时执行攻击代码。例如,在表单中提交含有脚本的内容时,如果服务器未对输入进行过滤或转义,这些脚本会被发布到页面上。当其他用户访问该页面时,浏览器会执行这些脚本,窃取用户的cookie等敏感信息。

防御

  • 对敏感cookie信息使用HttpOnly属性,使其不在document对象中可见。
  • 对用户输入的内容进行转义,避免直接输出未经处理的用户输入。
  • CSRF攻击

    介绍

    CSRF(Cross-Site Request Forgery)攻击是通过伪造请求,诱导用户执行不安全操作。例如,用户在银行网站A未退出时,访问携带CSRF攻击代码的网站B,导致银行网站A执行转账操作,资金被盗。

    防御

  • 在敏感请求中添加验证码,确保请求来源合法。
  • 检查Referer字段,验证请求来源域名是否合法。
  • 在请求中添加token并验证,确保每次请求都有授权。
  • 将token放在HTTP头中,避免暴露于浏览器地址栏。
  • SQL注入

    介绍

    SQL注入攻击通过在表单输入中注入SQL语句,绕过数据库安全机制,执行恶意操作。例如,登录表单中的输入若未转义,会拼接到查询语句中,导致数据库操作异常或数据泄露。

    防御

  • 对输入数据进行过滤,拒绝特殊字符。
  • 最小化数据库权限,限制操作范围。
  • 使用参数化查询接口,避免直接拼接SQL语句。
  • 身份认证和会话

    攻击

    黑客利用浏览器JS禁用校验,绕过客户端验证,执行异常操作。

    防御

  • 隐藏敏感信息。
  • 对敏感信息加密存储。
  • 定期失效session,避免长时间有效性。
  • 权限与访问控制

    攻击

    通过修改URL参数,访问他人页面,泄露隐私。

    防御

  • 添加权限校验,确保访问权限合法。
  • 不安全加密存储

    防御

  • 加密存储敏感信息。
  • 使用常用加密算法。
  • 上传漏洞

    攻击

    上传非图片文件,远程执行脚本攻击服务器。

    防御

  • 限制文件类型。
  • 使用第三方文件托管。
  • 传输层未加密

    防御

  • 使用安全的HTTPS版本。
  • 异性信息使用HTTPS传输。
  • 未验证的重定向和转发

    攻击

    钓鱼攻击,诱导用户点击恶意链接。

    防御

  • 添加跳转白名单。
  • 提前提示用户跳转来源。
  • WebShell攻击

    防御

  • 识别文件类型,限制特殊定义。
  • 脚本注入

    防御

  • 对用户输入进行数据过滤,确保页面安全。
  • 跨站攻击

    防御

  • 对URL参数进行校验,确保来源可靠。
  • 转载地址:http://abkt.baihongyu.com/

    你可能感兴趣的文章
    Node中同步与异步的方式读取文件
    查看>>
    node中的get请求和post请求的不同操作【node学习第五篇】
    查看>>
    Node中的Http模块和Url模块的使用
    查看>>
    Node中自启动工具supervisor的使用
    查看>>
    Node入门之创建第一个HelloNode
    查看>>
    node全局对象 文件系统
    查看>>
    Node出错导致运行崩溃的解决方案
    查看>>
    Node响应中文时解决乱码问题
    查看>>
    node基础(二)_模块以及处理乱码问题
    查看>>
    node安装卸载linux,Linux运维知识之linux 卸载安装node npm
    查看>>
    node安装及配置之windows版
    查看>>
    Node实现小爬虫
    查看>>
    Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
    查看>>
    Node提示:npm does not support Node.js v12.16.3
    查看>>
    Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
    查看>>
    Node服务在断开SSH后停止运行解决方案(创建守护进程)
    查看>>
    node模块化
    查看>>
    node模块的本质
    查看>>
    node环境下使用import引入外部文件出错
    查看>>
    node环境:Error listen EADDRINUSE :::3000
    查看>>