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

    你可能感兴趣的文章
    POJ2794 Double Patience[离散概率 状压DP]
    查看>>
    poj2828(线段树查找序列第k小的值)
    查看>>
    POJ2891:Strange Way to Express Integers——题解
    查看>>
    poj3045 Cow Acrobats(二分最大化最小值)
    查看>>
    poj3061 Subsequence(尺取法)
    查看>>
    poj3074 DLX精确覆盖
    查看>>
    poj3252(组合数)
    查看>>
    Qt笔记——QToolBox开发简易QQ聊天界面
    查看>>
    poj3307
    查看>>
    Qt笔记——QString与隐式共享、MVC架构
    查看>>
    Qt笔记——QSemaphore处理生产者/消费者模式
    查看>>
    Qt笔记——QMutex&QWaitCondition处理生产者消费者模式
    查看>>
    Qt笔记——QLable+QPixmap图片缩放踩坑
    查看>>
    Qt笔记——foreach与forever
    查看>>
    QT程序怎么挪到Linux下,linux+Qt程序如何打包发布
    查看>>
    Qt知识:视图框架QGraphicsWidget详解
    查看>>
    SpringBoot中项目启动及定时任务缓存数据库常用数据至内存变量并转换后高频调用
    查看>>
    Qt知识: 画刷风格
    查看>>
    QT的OpenGL渲染窗QOpenGLWidget Class
    查看>>
    QT的C++程序加载动态链接库DLL(Linux下是so)的方式
    查看>>