• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tony1016
V2EX  ›  程序员

忽然在想,在网站嵌入百度统计啊,多说啊,或者 disqus 这样的代码,是否有可能被 XSS

  •  
  •   tony1016 · Jan 27, 2016 · 4312 views
    This topic created in 3939 days ago, the information mentioned may be changed or developed.
    并不是被恶意劫持,而是比如类似百度这样的不要脸的公司,会不会通过脚本去窃取用户的 cookie 信息呢?
    14 replies  •  2016-01-28 11:32:24 +08:00
    9hills
    9hills
    Jan 27, 2016❤️1
    1
    lz 还记得当年 github 被 DDOS 的事件么

    就算百度靠谱,中间人就是了。。。
    quix
    quix
    Jan 27, 2016
    2
    记得上 https
    yeyeye
    yeyeye
    Jan 27, 2016
    3
    最早的时候有过统计代码带毒事件,后来出过统计代码劫持用来 DDOS 事件。

    理论上只要是第三方就可能有风险(就算组件是你自己写的,又能保证没有 bug 么)

    所以最好是用 HTTPS ,防劫持,至于 XSS ,用它就爱它吧。
    virusdefender
    virusdefender
    Jan 27, 2016
    4
    百度主动盗取可能性不大,但是可能存在漏洞被利用,见 http://wooyun.org/bugs/wooyun-2010-079034
    Cu635
    Cu635
    Jan 27, 2016❤️1
    5
    @virusdefender
    扯淡。 baidu 连卖疾病相关贴吧、手把手教卖假药的人用 PS 制造假药品许可证、拿钱删除三聚氰胺奶粉致死这些事儿都能干的出来,还有什么干不出来的?

    没干只是觉得利益太低而已。等着 baidu 发展到蚊子腿也不得不吃的时候,那就什么都干了。
    qgy18
    qgy18
    Jan 27, 2016❤️5
    6
    1 、 HTTPS 可以保证第三方脚本被中间人劫持、篡改;
    2 、 HTTPS 避免不了源站上的修改。类似楼主说的某某公司修改代码盗取 Cookie ,或者源站被入侵导致内容被篡改;

    对于第 2 点, Web 应用安全工作组提出了一个方案叫: Subresource Integrity 。
    简单原理就是你先自己审计第三方文件内容,如果觉得没问题,在引入这个文件时带上 HASH 值,之后浏览器会自动帮你检测这个文件是否被修改,如果修改了就拒绝加载。

    详见我的博客:
    https://imququ.com/post/subresource-integrity.html
    maxsec
    maxsec
    Jan 27, 2016
    7
    屈屈又来安利他的博客了。。。虽然营养很丰富
    tony1016
    tony1016
    OP
    Jan 27, 2016
    8
    @qgy18 嗯,领教了
    tony1016
    tony1016
    OP
    Jan 27, 2016
    9
    @qgy18 但是估计对第三方脚本的版本升级带来很大不便
    ivmm
    ivmm
    Jan 27, 2016
    10
    @qgy18 如果把百度分享拉到本地呢~
    tony1016
    tony1016
    OP
    Jan 27, 2016
    11
    @qgy18 想了想,还是重要请求都有令牌机制,比较好
    qgy18
    qgy18
    Jan 27, 2016
    12
    @ivmm 自己托管肯定没有任何问题。 SRI 是为了解决以下场景而提出的:
    1 )必须使用 CDN 。原因可以是节省流量费用,也可以是给用户更好的体验,等等;
    2 )担心 CDN 被入侵,导致文件从源头上被篡改,从而给主站带来安全风险;

    其中第二点, HTTPS 或者 CSP 都无法解决。

    另外实际使用 SRI 时,我们一般会做个降级,当 CDN 无法加载时走本地的,保证可用。代码示意如下:
    <script src="https://cdn/jquery.js" crossorigin="anonymous" integrity="sha256-xxx"></script>
    <script>
    if(!jQuery) {
    document.write('<scr' + 'ipt src="https://local/jquery.js"></scr' + 'ipt>');
    }
    </script>
    Khlieb
    Khlieb
    Jan 27, 2016 via Android
    13
    @Cu635 去年卖舰队 collection 吧,今年卖血友病吧都闹得沸沸扬扬的了
    openbaby
    openbaby
    Jan 28, 2016
    14
    反正多说最近的垃圾评论特别多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2448 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 12:15 · PVG 20:15 · LAX 04:15 · JFK 07:15
    ♥ Do have faith in what you're doing.