瞌睡虫

Flash 跨域数据劫持漏洞产生原因是什么

分享
  • X0_0X 2 等保中级测评师 CICSA
    X0_0X2 等保中级测评师 CICSA

    产生原因是很多上传文件的后端逻辑在实现时,仅仅验证了文件后缀名和Content-Type,没有对上传文件的内容进行验证。通常情况下这样的处理逻辑仅仅是不严谨,不会造成太大的安全隐患。发现object标签在包含flash文件时没有对嵌入的文件后缀进行判断。

    也就是说,只要文件内容包含了正常的flash文件代码,就能够被object标签成功加载并执行。而ActionScript中又提供了多种API能够让Flash发送网络请求。这样如果能够将任意后缀的Flash文件上传到目标域中,就能够在攻击者可控的域下让受害者访问一个精心构造的恶意页面,来对目标域进行跨域的数据劫持,受害者当前Session下的CSRF Token,以受害者的身份打开目标域的任何特权页面,进行特权操作。

    利用条件如下:

    • 目标网站的文件上传逻辑没有验证文件内容;

    • 上传的文件没有做域隔离处理;

    • 服务端没有强制设置Content-Disposition响应头;

    • 访问上传的文件没有session限制;

  • 007bug 2 安全集成(专业级)SP/PL CICSA
    007bug2 安全集成(专业级)SP/PL CICSA

    产生原因是很多上传文件的后端逻辑在实现时,仅仅验证了文件后缀名和Content-Type,没有对上传文件的内容进行验证。通常情况下这样的处理逻辑仅仅是不严谨,不会造成太大的安全隐患。ActionScript中又提供了多种API能够让Flash发送网络请求。这样如果能够将任意后缀的Flash文件上传到目标域中,就能够在攻击者可控的域下让受害者访问一个精心构造的恶意页面,来对目标域进行跨域的数据劫持。

    Flash 跨域数据劫持漏洞利用条件如下:

    • 目标网站的文件上传逻辑没有验证文件内容;

    • 上传的文件没有做域隔离处理;

    • 服务端没有强制设置Content-Disposition响应头;

    • 访问上传的文件没有session限制;

  • 写回答