Ruby:将内存地址字符串格式转换为shellcode的字节

问题描述 投票:1回答:1

我找到了一个泄漏其缓冲区地址的程序。我可以通过发送一个socket.get_once捕获它,但它是一个字符串格式。因此,当我将它传递给pack时,它不需要字符串值。如何将字符串格式的内存地址转换为可以放入shellcode的地址?

捕获的示例地址:0x7fffffffdfc0

使用string.pack('Q')会抛出一个不是整数的错误。所以我尝试使用循环将这些部分拆分成对,如下所示:

string.scan(/../)。reverse_each {| x | buf + = [x.to_i] .pack('S')}

我知道这可能是一个简单的解决方案,但由于某种原因,我无法绕过它。

ruby shell exploit
1个回答
0
投票

很容易...

buf + = [string.to_i(16)]。pack('Q')

© www.soinside.com 2019 - 2024. All rights reserved.