博客
关于我
常见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/

    你可能感兴趣的文章
    Python 手写数字识别-1
    查看>>
    Python实现接口自动化测试库(JSON与Requests)详解
    查看>>
    Python 手写数字识别-3-sklearn中的几种算法
    查看>>
    python实现SSIM和MSSSIM计算 (附完整源码)
    查看>>
    Python 打开文件注意事项
    查看>>
    python 批量修改文件名_python windows下批量修改文件名
    查看>>
    Python 抓取网页乱码问题 以及EXCEL乱码
    查看>>
    python 抓取网页内容
    查看>>
    python 按照当前日期创建文件
    查看>>
    Python 接口并发测试详解
    查看>>
    Python 接口自动化 —— requests框架
    查看>>
    python 接口自动化数据结构(如列表、字典、元组)
    查看>>
    Python 接口自动化测试中的深拷贝与浅拷贝~
    查看>>
    Python 接口自动化测试中的高阶函数
    查看>>
    python 控制 cmd 命令行颜色
    查看>>
    Python 操作 Azure Blob Storage
    查看>>
    Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
    查看>>
    Python 操作 JMeter 探索:pymeter 实操指南
    查看>>
    Python 操作 Redis
    查看>>
    Python 操作Mysql(PyMysql)
    查看>>