什麼是一個格式字符串漏洞?

了解一個格式字符串漏洞是,您首先需要知道什麼是格式字符串。 一個格式字符串是一種告訴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年技術常見問題解答 保留所有權利。 隱私政策。