| 如何利用格式化溢出漏洞,x86/sparc |
|
| 作者:未知 文章来源:网络收集 点击数: 更新时间:2006-3-29 15:06:30
|
目录: 1、什么是格式化溢出漏洞? 2、如何在x86/sparc exploit format string 3、确定retaddr/retloc的值 4、通用的模板
1、什么是格式化(format strings)溢出漏洞? 这里讲不详细列举关于格式化溢出的理论性的文章,而主要侧重于如何利用格式化溢出漏洞。如果您对格式化溢出不熟悉的话请 查看以下链接的资料,如果您对格式化溢出漏洞,asm/c语言有一定的基础的话,请跳转到第2章节。 关于格式化溢出的详细资料,请观看以下链接的文章: (1)在Linux上利用Format String漏洞 _blank>http://www.nsfocus.net/index.php?act=magazine&do=view&mid=1635 (2)*printf()格式化串安全漏洞分析(上)(下) _blank>http://www.nsfocus.net/index.php?act=magazine&do=view&mid=533 _blank>http://www.nsfocus.net/index.php?act=magazine&do=view&mid=534 (3)Solaris for SPARC 堆栈溢出程序编写(续) _blank>http://www.nsfocus.net/index.php?act=magazine&do=view&mid=683
2、如何在x86/sparc exploit format string 下面我将会step by step的详细介绍如何去利用一个格式化溢出的漏洞。 一个简单的有格式化溢出漏洞的例子: [dove@rh80 test]$ uname -a Linux rh80 2.4.18-14 #1 Wed Sep 4 13:35:50 EDT 2002 i686 i686 i386 GNU/Linux [dove@rh80 test]$ cat ./vulfs.c void foo (char *str) { char buf[256]; snprintf(buf,sizeof (buf),str); /* 直接把用户提交的数据打印到缓冲区里面去,并没有限制用户提交格式化串 */ printf("%s\n",buf); return; }
int main (int argc, char **argv) { foo(argv[1]); return 0; }
[dove@rh80 test]$ gcc -o vulfs vulfs.c [dove@rh80 test]$ ./vulfs AAAABBBB AAAABBBB [dove@rh80 test]$ ./vulfs BBBB%20d%x BBBB [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页
|
|
[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda 责任编辑:kinda |
|
上一篇文章: 非主流入侵之会话劫持winnt/2k HASH 下一篇文章: 溢出专题(六) 利用结构异常绕过溢出保护攻击 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |