以下代码的一个版本出现在这个关于堆喷射的演示文稿中(这个链接会导致一个 powerpoint 下载),以及Dan Boneh 的这个讲座视频。
<SCRIPT language="text/javascript">
shellcode = unescape("%u4343%u4343%...");
oneblock = unescape("%u0C0C%u0C0C");
cause-overflow(overflow-string); //overflow buf[]
</SCRIPT>
该cause-overflow()
函数未在此处实现,但我认为它只会写shellcode + nop
在整个堆上。
实际上是shellcode
机器代码exec(/bin/sh)
,还是某些 shell 代码shellcode
的内存位置?
是oneblock
NOP 幻灯片吗?
(更一般地说,这段代码在做什么?为什么会导致堆喷射?)
PS不是作业;我只是 javascript 的菜鸟。