V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lns103
V2EX  ›  信息安全

阿里云 OSS 被用于诈骗网站

  •  
  •   lns103 · 12 天前 · 3615 次点击

    在其它地方看到,转过来,不知道这个的具体原理是什么

    这个 jpg 实际上是一个 html ,直接访问是会被拦截的,但是加上后面的参数就可以访问了,希望有大佬来解析一下

    诈骗链接:

    https://blj-prod.oss-cn-shenzhen.aliyuncs.com/material/default/default/2bc4767a-9b62-4254-8513-0ae88ca82f14.jpg?data=YpAOcbLP7rTBLAc/gPxCiKaLASa17m2B3zg1FebfUY47LMM/nteukdxJiO1dRvjWHSimrQTvgE2Yg4DwctTe6w==#sbm=Vpyd1G5oAy
    

    诈骗传单图片: img

    诈骗“jpg”的内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title></title>
    		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui"/>
            <style type="text/css">
                html, body {
                    height: 100%;
                    margin: 0;
                    padding: 0;
                }
                iframe {
                    display: block;
                    width: 100%;
                    height: 100%;
                    border: none;
                }
            </style>
        </head>
        <body>
            <script src="https://pro.jsmaodian.top/jsqiantao.js"></script>
        </body>
    </html>
    
    第 1 条附言  ·  12 天前
    这种方式可以完美绕过目前支付宝、淘宝等 app 内置浏览器的域名白名单限制,扫码可以直接打开
    前几天 aliyuncs.com 被强制改 NS 到 shadowserver 可能与黑产利用后被举报有关
    36 条回复    2025-06-13 10:00:16 +08:00
    liaohongxing
        1
    liaohongxing  
       12 天前
    aliyuncs.com 都被干没了
    epicSoldier
        2
    epicSoldier  
       12 天前
    jsqiantao js 里写了逻辑啊,带了参数会响应一个正常的链接;不带参数响应一个 404 的链接
    lns103
        3
    lns103  
    OP
       12 天前
    @epicSoldier 大意了,原来访问请求被拦截也是诈骗网站实现的😂,现在这个链接里的参数似乎已经打不开了,不知道阿里云能不能对这种假 jpg 进行识别处理
    webs
        4
    webs  
       12 天前
    @liaohongxing this explains.
    aispring
        5
    aispring  
       12 天前
    刚没加参数也能正常返回,可能和文件名+response header 有关吧,content-type:application/xml
    kk2syc
        6
    kk2syc  
       12 天前   ❤️ 1
    访问 https://blj-prod.oss-cn-shenzhen.aliyuncs.com/material/default/default/2bc4767a-9b62-4254-8513-0ae88ca82f14.jpg?data=YpAOcbLP7rTBLAc/gPxCiKaLASa17m2B3zg1FebfUY47LMM/nteukdxJiO1dRvjWHSimrQTvgE2Yg4DwctTe6w==#sbm=Vpyd1G5oAy

    1.加载 https://pro.jsmaodian.top/jsqiantao.js

    2.访问 api: https://dataoppo.jsmaodian.top/rpa.php?data=YpAOcbLP7rTBLAc/gPxCiKaLASa17m2B3zg1FebfUY47LMM/nteukdxJiO1dRvjWHSimrQTvgE2Yg4DwctTe6w==
    返回 https://tencent.xiaohuacloud2.top/s/gfm50sujq9as ,访问 302 跳转 https://untill.searies807.top/0501-10T-01.html

    3.通过
    https://dataoppo.jsmaodian.top/title.php?url=https%3A%2F%2Ftencent.xiaohuacloud2.top%2Fs%2Fgfm50sujq9as%3F 设置页面标题,同时创建 html 元素

    4.通过步骤 2 的 302 地址引入 https://9h3xtym2bss6p.s3-eu-west-2.amazonaws.com/AA0501kf03.js
    ```
    window._MICHAT = window._MICHAT || function () { (_MICHAT.a = _MICHAT.a || []).push(arguments) };
    _MICHAT("cptid", "bb71628407f3151e1c");
    _MICHAT("host", "teinz87s.ldhlk.cn");
    (function (m, d, q, j, s) {
    j = d.createElement(q),s = d.getElementsByTagName(q)[0];
    j.async = true;
    j.charset ="UTF-8";
    j.src = ("https:" == document.location.protocol ? "https://" : "http://") + "teinz87s.ldhlk.cn/Web/js/loader.js";
    s.parentNode.insertBefore(j, s);
    })(window, document, "script");

    ```

    目前 https://teinz87s.ldhlk.cn/Web/js/loader.js 不可访问,暂时不知道后续
    pkoukk
        7
    pkoukk  
       12 天前
    这个 jpg 实际上是一个 html
    阿里云的 OSS 不会检测 mimeType 的吗
    dzdh
        8
    dzdh  
       12 天前
    @pkoukk mime 可以自己自定义。不是根据后缀来的。你可以把一个 exe 设置成 html 渲染。
    gorvey
        9
    gorvey  
       12 天前
    用 apifox 请求了下,响应格式是 text/plain ,虽然后缀是.jpg 但是 MIME type 是文本格式,浏览器会按照网页的形式解析

    至于参数是这个网页内部的逻辑,不是这个导致 jpg 变成网页

    具体怎么如何实现,我猜测是使用了某种方式改变了文件的 mime type ,或者是强制让浏览器接受文本类型
    CloudMx
        10
    CloudMx  
       12 天前
    你就把这个.jpg 理解是个路由吧,你想设置啥样就啥样,它弄错.jpg 只是增加迷惑性。
    luolw1998
        11
    luolw1998  
       12 天前
    duzhuo
        12
    duzhuo  
       12 天前
    只能举报,qq 群里发的簧片都是扫码跳转各大厂商的 cdn
    pkoukk
        13
    pkoukk  
       12 天前
    @dzdh 可以根据文件的前 N 个字节进行实际内容判断,对假类型强制修正,这种就会被改成 a.jpg.html
    lisongeee
        14
    lisongeee  
       12 天前
    看了一下这个链接的 response header 里的 Content-Type 是 application/xml
    lns103
        15
    lns103  
    OP
       12 天前   ❤️ 1
    @CloudMx 这不是最主要的,普通扫描用户也看不到这个 jpg ,主要是浏览器的 url 会一直保留在阿里云 oss 的 domain ,同时加载出伪造聊天界面,导致支付宝、淘宝、抖音的域名白名单拦截失效
    lns103
        16
    lns103  
    OP
       12 天前
    这是支付宝扫码,并随便输入兑换码进入的界面,完全没有被拦截
    dzdh
        17
    dzdh  
       12 天前
    @pkoukk #13 我是说。阿里云允许且支持这么玩。 对于 OSS 来说,不存在“文件后缀”这个概念,完整的 URI 只是一个 PATH ,这个 PATH 需要返回什么样的 header 头,都是可以自定义的。
    NewYear
        18
    NewYear  
       12 天前
    OSS 提供域名都有这个问题。
    国内外都存在这个问题,钓鱼钓了很多年了,换个用户名继续搞。

    属于是传统手艺了
    scyuns
        19
    scyuns  
       12 天前
    还是 iframe 的页面 全是作假的
    lisongeee
        20
    lisongeee  
       12 天前
    其实阿里云会拦截 html ,但是不拦截 xml

    黑产通过使用 xml 格式文件头来模拟 html 来让浏览器把 xml 当做 html 来渲染

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title></title>
    lujiaxing
        21
    lujiaxing  
       12 天前   ❤️ 1
    所以你们以为阿里云 域名是因为啥被拖进 sinkhole 的?
    十有八九是上面大量的灰产黑产触发什么自动机制了.
    ala2008
        22
    ala2008  
       12 天前
    居然可以是假的 jpg ,那为什么不直接用 html 呢
    coldle
        23
    coldle  
       12 天前 via Android
    @ala2008
    境内对象存储一般否不允许用他们的域名预览 html
    pkoukk
        24
    pkoukk  
       12 天前
    @dzdh #17 如果真的允许,那为什么要伪装这一下呢?直接就用 html 不好么
    macaodoll
        25
    macaodoll  
       12 天前
    这种东西防不了的,有很多小白,为了水点博客文章,就把项目上的 oss 代码直接贴出来,ak sk 都不脱敏一下.
    mercury233
        26
    mercury233  
       12 天前
    oss 公开访问时防了 html 不防 xml ,属于严重的漏洞
    sampeng
        27
    sampeng  
       12 天前
    不是。。你们是不是认为只有中国的黑产叫黑产,全球范围就不算了?阿里云有这毛病,aws 之类的都差不太多的。问题不是在 oss ,问题是在支付宝和微信他无法拦截或者说拦截成本巨高,要么,干脆完全不允许外链,把 oss 外链加黑名单这两家都别活了。还有。这个和前几天没半毛钱关系,微信和支付宝的被害人跑去美国投诉?????
    coldle
        28
    coldle  
       12 天前
    试了下还真不太对劲。。阿里居然没强制返回 `Content-Disposition: attachment`
    coldle
        29
    coldle  
       12 天前   ❤️ 3
    @coldle #28
    破案了,阿里的预览拦截是按 Content-Type 白名单来的,然后他们的白名单里没有 xml

    阿里文档: https://help.aliyun.com/zh/oss/user-guide/how-to-ensure-an-object-is-previewed-when-you-access-the-object?spm=a2c4g.11186623.0.i4

    那确实随便用 xml 模拟 html 了 🤣

    比如上传一个对象内容如下,Content-Type 设置成 application/xml 就 ok 了

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>XML 模拟 HTML 示例</title>
    </head>
    <body>
    <p>这是一个 xml 模拟 html 的示例</p>
    <br />
    <form>
    <input type="checkbox" id="option1" />
    <label for="option1">选项一</label><br />
    <input type="checkbox" id="option2" />
    <label for="option2">选项二</label><br />
    <input type="checkbox" id="option3" />
    <label for="option3">选项三</label>
    </form>
    </body>
    </html>
    coldle
        30
    coldle  
       12 天前
    @coldle #29
    刚注意到最后一行是全部限制了,应该只有老用户可以这么玩
    xiaozecn
        31
    xiaozecn  
       11 天前 via Android
    你们会相信阿里是无辜的么🫣
    fkdtz
        32
    fkdtz  
       11 天前
    这么干相当于把 oss 当做云主机了,攻击者不需要搞域名备案,直接把恶意页面搞里头,域名是 aliyuncs.com 背书,这招太妙了。
    怪不得阿里云现在限制不做自定义域名的 oss 必须下载文件,不给预览了,只有早期创建的 oss bucket 还没强制。
    dzdh
        33
    dzdh  
       11 天前
    @pkoukk #24 那是为了欺骗微信、qq 等其他社交软件,让这些软件误认为是图片然后绕过某些安全检测认证,等真正点开的时候,浏览器发现是 html 就以 html 展示了。
    zishang520
        34
    zishang520  
       11 天前 via Android
    哈?这不是我发布到 tg 和 x 安全情报社上的么
    lns103
        35
    lns103  
    OP
       10 天前 via Android
    @zishang520 就是在 tg 上看到的😂
    Nldgdsm
        36
    Nldgdsm  
       8 天前
    @lns103 #35 请问是哪一个 tg 群呢,可以分享下么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2423 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:16 · PVG 19:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.