
使用函数计算和API 网关做了一个web shell: 随时随地打开一个 shell,用完即走。

欢迎大家来玩,项目地址:

这个项目中我们用到了以下组件:
函数的代码也非常简单:
'use strict'; var exec = require('child_process'); exports.handler = function(event, context, callback) { console.log('event: %s', event.toString()); var evt = JSON.parse(event.toString()); var cmd = evt['queryParameters']['cmd']; exec.exec(cmd, {}, function(err, stdout, stderr) { console.log(stdout, stderr); var body = ''; if (err) { body = new Buffer(stderr).toString('base64'); } else { body = new Buffer(stdout).toString('base64'); } var resp = { statusCode: 200, isBase64Encoded: true, body: body, }; callback(null, resp); }); }; 欢迎大家来体验 serverless 构架的函数计算服务;
也欢迎有兴趣的同学加入一起开发函数计算:
1 lulinux 2017 年 8 月 8 日 via Android 这是什么字体这么漂亮? |
3 minamike 2017 年 8 月 8 日 输入 rm -rf /*会怎样 |
4 w88975 2017 年 8 月 8 日 不支持 tap ctrl vi nano 等快捷键 编辑器也没法用 很鸡肋 这种需求 直接用 Wetty 搭建一个就足够了 |
6 imnpc 2017 年 8 月 8 日 无 root 权限的... 但是还是感觉有风险 |
7 hzwjz 2017 年 8 月 8 日 我可以这么干 `rm -rf --no-preserve-root /` ``` packages/mercurial/hgweb/hgweb_mod.pyc': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/hgweb/__init__.pyc': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/hgweb/wsgicgi.py': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/context.pyc': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/strutil.py': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/unionrepo.py': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/httppeer.pyc': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/ancestor.pyc': Permission denied rm: cannot remove '/usr/lib/python2.7/dist-packages/mercurial/dagparser.pyc': Permission denied ``` |
11 hellove1985 2017 年 8 月 8 日 反馈 bug cat /tmp/test.txt TypeError: e.data.split is not a function |
12 hellove1985 2017 年 8 月 8 日 echo 123 > /tmp/test.txt cat /tmp/test.txt TypeError: e.data.split is not a function |
13 rockuw OP @hellove1985 已修复 |
14 ihainan 2017 年 8 月 8 日 快捷键用不了,不开心…… |
15 binux 2017 年 8 月 8 日 `:(){ :|: & };:` 都运行不了好意思叫 shell ? |
16 hjc4869 2017 年 8 月 8 日 当然是上 Fork bomb 了 |
20 rockuw OP @hjc4869 函数计算有一些限制项,能够有效地防止被拿来做 DDoS: https://help.aliyun.com/document_detail/51907.html 默认情况下一个用户并发执行数是 100,即他最多有 100 个实例在跑。 |
21 lslqtz 2017 年 8 月 8 日 非常有趣,收藏了。 |
22 nutting 2017 年 8 月 8 日 via Android 我上次在这里分享了一个匿名聊天,一群尝试发送 js 代码的,各种破解的,看看楼主这个能撑多久?搞挂了免责不? |
23 araraloren 2017 年 8 月 9 日 我应该怎么回答? 删库跑路。。还是撬动整个地球。。。 |
24 mosliu 2017 年 8 月 9 日 rm -rf / |
25 qiuyk 2017 年 8 月 9 日 第一个反应肯定是 rm -rf /的吧哈哈哈哈 |
26 bintianbaihua 2017 年 8 月 9 日 rm -rf |
27 NoAnyLove 2017 年 8 月 9 日 喜欢 Fantasque Sans Mono 字体的用户路过 |
29 rockuw OP @araraloren 参考答案是:撬动整个地球 |
30 O3YwA1ENkb7i35XJ 2017 年 8 月 9 日 |
32 O3YwA1ENkb7i35XJ 2017 年 8 月 9 日 @rockuw 刚看到了, 之前没收到 github 的提醒, 我又改了一些内容, 一并看看. 你提的那些疑问, 我也已经回复了. |