[HITCON2016]Leaking
题目
原题目来自HITCON 2016
题目如下
由于我还是个小白,经过漫长的翻查php手册和查阅一些大佬的博客得知这是一题是关于Node.js沙盒逃逸的。其中var { VM } = require(“vm2”);是Node.js有关沙盒的代码。在查阅大佬文章得知:在较早一点的 node 版本中 (8.0 之前),当 Buffer 的构造函数传入数字时, 会得到与数字长度一致的一个 Buffer,并且这个 Buffer 是未清零的。8.0 之后的版本可以通过另一个函数 Buffer.allocUnsafe(size) 来获得未清空的内存。
然后通过脚本,找到内存泄漏时执行的eval()函数,得到flag。
import requests
import time
url = 'http://your ip:port/?data=Buffer(500)'
response = ''
while