我目前正在以下为Shellcoder's Handbook (2nd edition)的勘误表。这本书有点过时了,但还是很不错的。我的问题现在的问题是,我不能想我需要的有效载荷多久,是我试图按照每一个步骤(和运行GDB使用相同参数),我试图猜测缓冲区开始的地方,但我不知道到底。我对此也很新,所以这很有道理。堆栈溢出(Shellcoder手册)
我有一个易受攻击的程序strcpy()
和buffer[512]
。我想让堆栈溢出,所以我使用程序运行一些A(如Shellcoders Handbook的Erratas)。我想找到有效载荷需要多长时间(无ASLR),因此理论上我只需要找到缓冲区的位置。
由于我新的,我不能张贴图片,但是从书中的首选输出有一个完整的4行的“A的(0x41414141),而我是这样的:
(gdb) x/20xw $esp - 532
0xbffff968 : 0x0000000 0xbfffffa0e 0x41414141 0x41414141
0xbffff968 0x41414141 0x41414141 0x00004141 0x0804834
什么地址是?我如何知道这个缓冲区在哪里启动?我想这样做,所以我可以继续与这本书合作。我意识到缓冲区是在那里,因为我跑的是A。但是如果我想知道有效载荷需要多长时间,我需要从哪里开始。
你可以在imgur上传的图片,并可以分享这里。 –