V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
dusu
V2EX  ›  奇思妙想

有没有可能,把一段 js 隐写在图片中,然后网页里引用能让其正常运行?

  •  
  •   dusu · 2019-10-28 20:47:57 +08:00 · 6942 次点击
    这是一个创建于 1853 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT,突然有这个想法,但是研究了一圈似乎没找到绕过文件头的办法,

    这个用处在于,用各种三方图床存 JS 可以加速访问(可能还有更多应用场景)。

    只是一个想法拿出来讨论,轻喷。

    22 条回复    2019-11-14 16:21:49 +08:00
    locoz
        1
    locoz  
       2019-10-28 20:52:34 +08:00 via Android
    可以,但必须有另一个 js 去处理一下
    dusu
        2
    dusu  
    OP
       2019-10-28 20:55:12 +08:00
    @locoz 如果是存三方图床上的话,那还会有跨域问题...
    Trim21
        3
    Trim21  
       2019-10-28 20:59:23 +08:00
    如果不是为了绕过浏览器的安全限制只是为了撸图床的带宽的话 jsdeliver 不就行了吗
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       2019-10-28 21:03:31 +08:00 via iPhone
    找一个 js 写的 js interpreter 就可以了,挺多的
    AaronLiu00
        6
    AaronLiu00  
       2019-10-28 21:04:27 +08:00
    azh7138m
        7
    azh7138m  
       2019-10-28 21:57:42 +08:00 via Android
    @AaronLiu00 博客挺好的,就是修改 document.title 的地方写崩了,我手机上是乱码
    AaronLiu00
        8
    AaronLiu00  
       2019-10-28 23:10:22 +08:00 via Android
    @azh7138m 哈哈,其实乱码就是本意
    cocolate
        9
    cocolate  
       2019-10-28 23:42:08 +08:00 via Android   ❤️ 1
    当然可行 曾经有个 chrome 插件用这个方法绕过代码审查偷传用户资料
    zouchtssn
        10
    zouchtssn  
       2019-10-28 23:50:10 +08:00
    看了内容突然意识到 steganography 对应的中文是隐写
    CODEWEA
        11
    CODEWEA  
       2019-10-29 00:14:07 +08:00
    没用,控制台能看出来
    DonnyChao
        12
    DonnyChao  
       2019-10-29 00:59:37 +08:00 via Android
    以前有人利用这个机制,使用图片藏 PHP 代码制作来图片木马....
    JingNi
        13
    JingNi  
       2019-10-29 04:21:44 +08:00 via iPhone
    PHP 就有这种方式,include 一个图片,文件被字符串直接当做代码执行了,但是 PHP 这个方法不限制文件头。
    IceBay
        14
    IceBay  
       2019-10-29 06:07:18 +08:00
    js 文件里放 base64 后的图片?
    wangxiaoaer
        15
    wangxiaoaer  
       2019-10-29 07:06:26 +08:00 via Android
    CROB 了解一下。
    EscYezi
        16
    EscYezi  
       2019-10-29 08:19:08 +08:00 via iPhone
    话说为什么不直接用 CDN😂
    oott123
        17
    oott123  
       2019-10-29 09:37:25 +08:00 via Android
    可以是可以,但像 uc 这样的浏览器把你图片压缩了你的代码就崩了(笑
    opengps
        18
    opengps  
       2019-10-29 09:40:23 +08:00
    如果有,那就危险了。黑产比你用的多,达到的效果远比你想的要可怕
    dianso
        19
    dianso  
       2019-10-29 10:42:52 +08:00 via Android
    可以的啊,很简单的方法就是自己编译下浏览器
    dusu
        20
    dusu  
    OP
       2019-10-29 10:57:34 +08:00 via iPhone
    @AaronLiu00

    🙏以及感谢各位,虽然和我想的差一点

    不过已经按思路手撸了一个前后端版本,准备小范围实践下

    之前已经有前人开源过图片生成

    https://github.com/jklmnn/imagejs/

    按说明处理过后,发现 chrome 安全检查已经屏蔽非 javascript header 执行 js 了,so 只能放弃…

    P.S. 图片加 php / asp 代码早已经是皆知的事情了哈,那个不存在绕过文件头的问题,和我这个还不太一样

    P.S. 图片压缩部分,我确认了一下,浏览器上 png 压缩率不是很高,一般图床也不会对 png 做特别处理,只要 png 数据不是特别多的情况下,效果应该还能接受,不过也要全面测试
    ArtIsPatrick
        21
    ArtIsPatrick  
       2019-10-29 12:42:10 +08:00
    eshezhao
        22
    eshezhao  
       2019-11-14 16:21:49 +08:00
    @AaronLiu00 你还运营你那个硬盘项目吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2914 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.