什么是一个格式字符串漏洞?

了解一个格式字符串漏洞是,您首先需要知道什么是格式字符串。 一个格式字符串是一种告诉C编译器应该如何格式的数字时,打印它们。

格式字符串在C

在C编程语言有一些职能接受一个格式字符串作为参数。 这些职能包括fprintf ,输出, sprintf , snprintf , vfprintf , vprintf , vsprintf , vsnprintf , setproctitle ,系统记录,等等。

其中最常用的是输出。 使用输出是:

输出格式[论点... ]

输出的产出的价值[论点... ]在指定格式的格式

一个例子呼吁输出是:

输出( “区域代码是: % d个\ N ”的303号) ;

支持的格式说明符不同于一个C编译器的未来。 支持的格式说明符下的FreeBSD是:

% d个 转换整数签署杜威字符串。
% u个 无符号整数转换为十进制字符串。
%我 转换为十进制整数签署字符串;整数可以是十进制,八进制(以领先0 )或十六进制(以领先加上0x ) 。
% ö 无符号整数转换为八进制字符串。
% X或% × 无符号整数转换为十六进制字符串,使用数字`` 0123456789abcdef ''的X和`` 0123456789ABCDEF ''为X ) 。
% ç 转换成整数的Unicode字符它代表。
% s的 没有转换,只需插入字符串。
%女 转换浮点数以签署杜威字符串的形式xx.yyy ,那里的一些Y的是所确定的精确度(默认值: 6 ) 。 如果精度为0然后没有小数点输出。
% E或% é 转换浮点数以科学记数法的形式x.yyye + -子怡,那里的一些Y的是所确定的精确度(默认值: 6 ) 。 如果精度为0然后没有小数点输出。 如果电子表格是用来印刷然后E是不是体育
% g或% G 如果指数小于-4或大于或等于精度,然后转换浮点数为% E或%大肠杆菌 否则转换为%楼 尾随零和尾部小数点的省略。
% % 没有转换:刚才插入% 。

欲了解更多有关格式说明符,是指该名男子网页“格式”在您最近的Unix系统。

格式字符串漏洞攻击

格式字符串漏洞攻击分为三类:拒绝服务,阅读和写作。

额外的信息来源格式化字符串漏洞

欲了解更多有关利用格式字符串漏洞,是指利用格式化字符串漏洞的恶棍,和格式化字符串攻击蒂姆Newsham

书写安全的代码 建设安全的软件 安全编码 安全编程食谱
了解如何防止格式字符串漏洞的源代码中的这些优秀的书籍安全编程Amazon.com的


最常见的5个免费网络工具

漏洞管理傻瓜

我们的朋友在Qualys的是提供免费的副本,电子版的漏洞管理傻瓜以技术问题解答读者。

漏洞管理傻瓜:

  • 说明了迫切需要的漏洞管理
  • 详细介绍了基本最佳实践步骤,一个成功的脆弱性管理程序
  • 概述了各种漏洞管理解决方案-包括优点和缺点每个
  • 聚焦屡获殊荣的QualysGuard漏洞管理解决方案
  • 提供了一个10点的清单,消除安全漏洞从您的关键资源
书签什么是一个格式字符串漏洞?

最新的博客帖子


英文 英文 德语 德语 西班牙语 西班牙语 法文 法文 意大利语 意大利语 葡萄牙语 葡萄牙语 俄文 俄文 荷兰文 荷兰文
希腊语 希腊语 印地文 印地文 日语 日语 韩文 韩文 中文 中文 中文(简体) 中文(简体) 阿拉伯语 阿拉伯语

版权所有2009年技术常见问题解答 保留所有权利。 隐私政策。