网站常见安全漏洞专题| 青训营

42 阅读3分钟

网站常见安全漏洞专题

什么是漏洞

  • 网站的基本构成
    • 网站前端,静态资源,代理网关,网站后端
  • 部分安全时间
    • 数据泄露
    • 服务瘫痪
    • 成果失窃
    • 系统劫持
  • 网站攻击者意图
    • 政治目的
    • 经济目的
    • 竞争目的
    • 炫技,泄愤等
  • 漏洞的分类
    • 服务端漏洞
    • 客户端漏洞

服务端漏洞

  • 第三方组件漏洞
    • 特征
      • 打印一条日志,导致中病毒
      • 解析一个json,导致中病毒
    • SQL注入
      • SQL语句静态模板和动态数据部分没有严格区分,如果在数据项中加入了某些SQL语句的关键字(SELECT等),这些SQL语句就很可能在数据库写入或读取数据时得到执行
      • 防护
        • 劲量不要基于DB的raw方法拼接构造SQL语句,而应该使用预编译,ORM框架
        • 使用ORM框架时,应该注意框架中的特征,可能存在不安全的写法导致的SQL注入问题
        • 在复杂场景一定要使用拼接SQL, 需要读挖补输入进行转义
    • 命令执行
      • 代码中遇到需要调用某个指令才能完成的功能的时候.会涉及到命令拼接,如果命令拼接没有做好安全过滤,那么将会导致命令注入的风险
      • 防护
        • 对动态的值劲量设置白名单进行验证
        • 对数据类型进行校验
        • 特殊字符黑名单的过滤.或者转义
    • 越权漏洞
      • 水平越权
      • 垂直越权
    • SSRK
      • 服务端请求伪造攻击,指攻击者利用后端服务器为跳板,让后端服务器向非预期的网络地址发出恶意的请求.获取敏感信息或执行恶意操作
    • 文件上传漏洞
      • 解释性语言的不安全(PHP等)
      • 找到公开的上传点,上传恶意文件

客户端漏洞

  • 开放重定向
    • 某些需要重定向到其他站点的功能,往往参数中携带需要重定向的URL,但实际程序逻辑没有控制好重定向的范围,导致攻击者可以构造恶意链接,诱导用户重定向到恶意站点
    • 修复方案:对重定向严格进行白名单控制
  • XSS
    • 跨站脚本攻击:本质是一种Script代码注入
    • 危害:包括窃取用户敏感信息,以用户身份执行敏感操作
    • 防护:输入过滤,输出过滤,富文本场景,CSP
  • CSRF
    • 跨站请求伪造
      • 允许攻击者诱导用户访问恶意链接,执行用户非预期执行的操作
    • 危害
      • 用户执行敏感操作,如关注其他用户,更改账号的安全邮箱等
    • 防护
      • 判断请求的来源
  • 点击劫持
    • 概念
      • 一种在网页中将恶意代码等隐藏在看似无害或者存在诱导性的内容(按钮)之下,诱使用户点击,并执行非预期的操作
  • SORS跨域配置错误
    • 错误配置跨域访问Allow List,导致非预期的站点跨域进行跨域访问,最终导致信息泄露
  • WebSocket
    • 本质上HTTP上的漏洞在WS上同样存在
    • 架构:可能被钓鱼网站监听