文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术黑客技术printf()格式化串安全漏洞分析(上)
精品推荐
特别推荐
·简单方法查找黑客老巢
·一次入侵过程的公开分析
·快速利用135端口入侵个人电脑
·基础知识 初级黑客安全技术命令详解
·IPC$入侵的高级手段与方法
·在QQ上与任意陌生人聊天的新绝招
·“黑客”教你如何远程控制计算机
·多种DDoS攻击技术方法
·黑客入侵前的信息收集
·看黑客如何发动对电子邮件系统的攻击
·经典:各个网络端口的入侵方法
·防范黑客 从两大方面阻止域名被劫持
·黑客、红客、蓝客、飞客究竟是什么?
·认清虚虚实实的“ARP攻击”防御方法
·黑客知识 彻底堵死SQL注入工具漏洞
·赛迪网"IT技术百家讲坛"开讲 如何防御黑客?
·黑客如何利用DNS欺骗在局域网中挂马
·Windows黑客编程基础
·黑客很狡猾 如何减轻DDoS攻击危害?
·网络攻击的几种攻击与防御手法大揭秘
热点TOP10
·最详细的黑客入门法则
·“黑客”教你如何远程控制计算机
·我是怎么进入他人计算机的
·用IE即可轻松远程控制对方电脑
·一次入侵过程的公开分析
·迎刃而解——破解密码的常用工具
·从零开始学黑客:网络黑客新手入门指南
·不用任何软件(木马程序)盗取账号密码
·黑客技术之知道对方IP入侵别人的电脑
·简单方法查找黑客老巢
·基础知识 初级黑客安全技术命令详解
·谁能知道微软在你的计算机里隐藏的秘密
·在QQ上与任意陌生人聊天的新绝招
·流光5.0使用小窍门
·收费网站破解攻略
·IPC$入侵的高级手段与方法
·快速利用135端口入侵个人电脑
·黑客入侵前的信息收集
·远程控制新法宝---DMRC软件包
·经典常见计算机密码破解实用手册

printf()格式化串安全漏洞分析(上)

日期:2005年3月29日 作者:清风网络学院 查看:[大字体 中字体 小字体]


<!--StartFragment--> 测试平台:RedHat 6.1, RedHat 6.2 (Intel i386)

前言:
=====

最近一段时间,一种新的安全漏洞正开始引起人们注意,就是诸多的*printf()函数的格式
化串问题。其实这个问题应该说并不鲜见,只是一直没有人注意它,直到最近才开始进行
一些深入的讨论。格式化串的问题实际上是由于程序员编程时的疏漏所导致的,下面我们
就来看看具体是怎么回事。


关于格式化串
============

*printf()函数包括printf,  fprintf,  sprintf,  snprintf,  vprintf, vfprintf,
vsprintf, vsnprintf等函数,它们可以将数据格式化后输出。以最简单的printf()为例:
int printf(const char *format, arg1,arg2,...);

通过定制format的内容(%s,%d,%p,%x...),用户可以将数据按照某种格式输出。问题是,
*printf()函数并不能确定数据参数arg1,arg2...究竟在什么地方结束,也就是说,它不知
道参数的个数。它只会根据format中的打印格式的数目依次打印堆栈中参数format后面地址
的内容。先来看一个简单的例子:

<- begin ->  fmt_test.c

#include <stdio.h>

int main(void)
{
   char string[]="Hello World!";
  
   printf("String: %s  , arg2: %#p , arg3: %#p\n", string);
   return 0;
}

<- end -> 

上面的例子中我们其实只提供了一个数据参数"string",但在格式串中有三个打印格式,
我们看一下运行的结果:

[warning3@redhat-6 format]$ gcc -o fmt_test fmt_test.c
[warning3@redhat-6 format]$ ./fmt_test
String: Hello World!  , arg2: 0x6c6c6548 , arg3: 0x6f57206f

我们来看一下arg2,arg3显示的是哪里的内容:
[warning3@redhat-6 format]$ gdb ./fmt_test
<...>=版权所有  软件 下载  学院  版权所有=
(gdb) b printf
Breakpoint 1 at 0x8048308
(gdb) r
Starting program: /home/warning3/format/./fmt_test
Breakpoint 1 at 0x40064f5c: file printf.c, line 30.

Breakpoint 1, printf (
    format=0x80484c0 "String: %s  , arg2: %#p , arg3: %#p\n") at printf.c:30
30      printf.c: No such file or directory.
(gdb) x/10x $ebp
0xbffffc88:     0xbffffca8      0x08048403      0x080484c0      0xbffffc98
0xbffffc98:     0x6c6c6548      0x6f57206f      0x21646c72      0x08049500
0xbffffca8:     0xbffffcc8      0x400301eb

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] 下一页 




上一篇:Unix/ELF文件格式及病毒分析

下一篇:printf()格式化串安全漏洞分析(下)

printf()格式化串安全漏洞分析(上) 相关文章:
·Windows系统漏洞修复软件大比拼
·局域网上网的安全防范与技巧
·配置Catalyst交换端口分析器(SPAN)
·一次入侵过程的公开分析
·中小企业整体网络安全解决方案解析
·万能五笔2001注册码分析及暴力破解 上
·解析远程控制带来的安全危险
·格式化影响硬盘寿命吗?
·如何以安全模式启动计算机
·修改系统设置 打造安全的个人电脑
printf()格式化串安全漏洞分析(上) 相关软件:
·2007网络安全黄皮书V1.0.0
·如何加固Windows XP 主机安全
·硬盘分区与格式化详解
·360安全卫士v3.2
·防骗 安全教育片
·3D 动画与建模:人体的综合与分析技术
·建设部监理师-案例分析录音16
·频谱分析仪V1.10
·属相分析大师 V1.0
·GDISK全自动分区格式化工具盘 V1.1

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot