像 http://zh.scala-tour.com/ 这样的网站,他们的代码直接在服务器上运行然后返还结果吗?还是在什么沙箱或虚拟机里运行。
如果在服务器上运行,是不是我在他的代码框里执行以下代码就可以把它的进程给杀了。。。
val rt:Runtime = Runtime.getRuntime();
val p:Process = rt.exec("kill n");
像 http://zh.scala-tour.com/ 这样的网站,他们的代码直接在服务器上运行然后返还结果吗?还是在什么沙箱或虚拟机里运行。
如果在服务器上运行,是不是我在他的代码框里执行以下代码就可以把它的进程给杀了。。。
val rt:Runtime = Runtime.getRuntime();
val p:Process = rt.exec("kill n");
|
1
那你就在框里尝试一下各种可能性就知道了。
|
|
oiscJun 4, 2015
2
楼主你做了什么。。。。。 网站进不去了。。。。
|
|
lujiajing1126Jun 4, 2015
3
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你干了什么。。。 |
|
4
谁知道真这样
|
|
isacedJun 4, 2015
6
真的吗?
|
|
7
|
|
zrp1994Jun 4, 2015
9
楼主好样的
|
|
lujiajing1126Jun 4, 2015
10
@hellomsg 查下域名是谁的。。然后写个Email。。。
|
|
x4Jun 4, 2015 via Android
12
楼主怎么可以这样。。。。
|
|
ezrealJun 4, 2015
13
docker
|
|
mytharcherJun 4, 2015
15
是 heroku 上的,估计是没有捕获异常,然后 app 进程就挂了。
|
|
16
一失足成千古恨,怎么办,蹲监狱吗
|
|
razrleleJun 4, 2015 via Android
17
简直6
|
|
xiaoziJun 4, 2015
18
docker 做沙箱,http://tool.lu/coderunner/ 欢迎测试
|
|
vjnjcJun 4, 2015
19
现在能进了啊,我还贴了楼主的代码然而没有什么鸟用
|
|
molinxxJun 4, 2015 via iPhone
21
这类网站有不少,有问题的也不少,我记得有个T字母开头的,可以执行那个Fork炸弹,已经发邮件通知官方了,貌似仍未处理…
|
|
oott123Jun 5, 2015 via Android
23
哈哈哈哈哈今日最佳
|
|
shawnxwangJun 5, 2015 via iPhone
24
楼主你太棒了…
|
|
wilsonxyzJun 5, 2015
25
|
|
JafeeJun 5, 2015 via Android
26
哈哈哈!
|
|
cnnblikeJun 5, 2015
27
哈哈哈哈哈哈,楼主好萌啊
|
|
ligyxyJun 5, 2015
28
从第二楼开始就忍不住笑了
|
|
fugeJun 5, 2015 via iPhone
30
哈哈哈哈哈哈 笑尿了
|
|
virusdefenderJun 5, 2015
31
@xiaozi 你是怎么加固的docker呢?最近在做oj的判题,发现docker默认的配置还是有安全风险的。
|
|
34
@virusdefender oj的判题,ptrace禁止标准输入输出外的系统调用就没问题了吧,我们以前的OJ工作了好多年了。。。
|
|
gamexgJun 5, 2015
35
C,C++,D,Haskell,Lua,OCaml,PHP,Perl,Plain Text,Python,Ruby,Scheme,Tcl 在线执行
http://www.chenwang.net/2015/05/29/%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7%E6%94%B6%E9%9B%86%EF%BC%9Ajs%E3%80%81html%E3%80%81c%E3%80%81c%E3%80%81php%E3%80%81python%E3%80%81sql%E3%80%81%E6%AD%A3%E5%88%99%E3%80%81ping%E3%80%81%E8%BF%9C/ |
|
36
|
|
virusdefenderJun 5, 2015
38
@wy315700 ptrace对性能影响有些大呢
|
|
wy315700Jun 5, 2015
39
@virusdefender
不ptrace你怎么获取程序的 :“执行时间”,“使用内存”,怎么在程序超时的时候kill掉。 其实对性能影响不怎么样,因为真正在OJ里跑的,基本上系统调用很少,触发的也少。 当然,还有一些攻击,比如 "include攻击"需要额外注意一下。。。 |
|
virusdefenderJun 5, 2015
40
|
|
wy315700Jun 5, 2015
41
@virusdefender
会有问题的,机器负载大的时候,而且如果不进行实时监控,MLE和OLE会挤爆的。 ICPC现场一般都是PC2,也没什么安全防护,结果当初我们比赛的时候有个人提交了这么个代码: while(1) fork(); 然后,,,,, |
|
denghongcaiJun 5, 2015
42
我勒个去……还真崩了……
docker沙箱只要不给sudo权限,不给root,不挂载外部文件系统还是安全的 主要是要限制docker的资源使用和CPU时间 |
|
cjyang1128Jun 5, 2015
43
@cnnblike 惊现柯神
|
|
HowardMeiJun 5, 2015
44
笑死了,哈哈,楼主经不起诱惑啊,名人一劝,就把节操给丢了
|
|
qqjtJun 5, 2015
45
……我服
|
|
zythumJun 5, 2015
46
今日最佳
|
|
qsz13Jun 5, 2015
47
刚刚试了下rm...现在好像又不能访问了,我是不是该给作者写邮件道歉了
|
|
learnshareJun 5, 2015
48
Good Job !
|
|
shinivJun 5, 2015
49
现在404了....
|
|
houfukudeJun 5, 2015
50
噗 果然404了 你们这群坏人!
|
|
subpoJun 5, 2015
55
火钳刘明!
|
|
secondwtqJun 5, 2015
56
最近也在做这个东西...
说来我一个 ACM 渣,怎么就做起了 OJ 呢... |
|
57
你们玩大了 我就是那个站长!
|
|
SyaoranJun 5, 2015 via iPhone
61
这就404了,如果站长没备份怎么办……
|
|
hellov22exJun 5, 2015
62
玩大了,已经404了
|
|
liujiantaoJun 5, 2015 via Android
63
这也是得怪作者不加以限制,kill可以执行,rm都可以。。。
|
|
lazycatJun 5, 2015
64
卧槽这个有点厉害。。。笑死我了哈哈哈哈
|
|
momouJun 5, 2015
65
赔我午饭!!!
|
|
lrqrunJun 5, 2015
66
哈哈,作者要找你拼命了
|
|
chinabrowserJun 5, 2015 via Android
67
陪我早餐Σ(っ °Д °;)っ
|
|
qihboyJun 5, 2015
68
23333333333....
|
|
RIcterJun 5, 2015
71
|
|
duteng612Jun 5, 2015
73
使用chroot(http://www.tutorialspoint.com/unix_system_calls/chroot.html),修改root dictionary;这一步骤可以保证你的服务器安全;然后再当前目录下配置运行环境(解释型和编译型的语言有些差异),不同语言也需要做一些不同的处理,之后使用ptrace跟踪运行程序;
|
|
KayYanJun 5, 2015
74
@hellomsg 我才是真正的作者。
当初做的时候,考虑这个问题。觉得坑很大,就决定不自己处理,让Heroku帮我搞。现在看样子Heroku也靠不住。挑个吉时上DaoCloud吧。 |
|
MrxxJun 5, 2015
79
"框里尝试一下" 不能更清晰
|
|
asjJun 5, 2015
80
|
|
cctv6Jun 5, 2015
81
|
|
84
@KayYan 参与过他们内测 部署个应用后还拿了件衣服 (这里赞下Daocloud, 服务和T恤都很赞..),国内访问速度要比heroku好 强烈推荐
等作者上了Daocloud后去kill下试试..看能不能再骗件衣服.. |
|
daocloudJun 5, 2015
86
他是
曾经的软院大神 今日DaoCloud的主架构师 人称开叔的 @KayYan 多年前的Scala神作,在V2EX上被躺枪 Heroku靠不住,DoCloud玩不坏 开叔轻轻的敲下重大决策按钮 Docker Run,从此不再404 ~DaoCloud祝V2EX网友周末愉快~ |
|
87
@virusdefender 我们使用ptrace做的,目前大部分oj的判题实现也是这个,禁止某些系统调用,限制堆栈、运行时间、内存等。可以看看我们的 <a href="https://github.com/ZJGSU-Open-Source/RunServer/tree/master/Cjudger"> ZJGSU </a>
|
|
wy315700Jun 5, 2015
90
@est 肯定是看到帖子注册的。。。
@sakeven 话说你们的代码和HUST的好像,,, 搭车也放一下我们Ecust的OJ系统 https://github.com/wy315700/ecustoj/tree/master/JudgeCore1 @virusdefender |
|
flowfireJun 6, 2015
95
今日最佳2333333
|
|
goofferJun 6, 2015
96
@virusdefender 什么风险-,-
|
|
comzyhJun 6, 2015 via Android
98
炸出一片做OJ的
|
|
nowcoderJun 6, 2015
99
神人太多,好担忧牛客网的OJ -,-
|
|
wizardforcelJun 6, 2015
100
|