<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    Often Misused: Encoding

                    ABSTRACT

                    標識調用可對字符應用最佳適應算法。傳遞給默認 API 方法的不受支持的字符可通過最佳適應算法映射到危險字符。

                    EXPLANATION

                    當操作系統及其上運行的應用程序之間的字符集不匹配時,傳遞給默認 API 方法的不受支持的字符可通過最佳適應算法映射到危險字符。

                    例 1:在 Objective-C 中,以下代碼示例會將包含 UTF-8 字符的 NSString 對象轉換成 ASCII 數據然后返回:


                    ...
                    unichar ellipsis = 0x2026;
                    NSString *myString = [NSString stringWithFormat:@"My Test String%C",
                    ellipsis];
                    NSData *asciiData = [myString dataUsingEncoding:NSASCIIStringEncoding
                    allowLossyConversion:YES];
                    NSString *asciiString = [[NSString alloc] initWithData:asciiData
                    encoding:NSASCIIStringEncoding];
                    NSLog(@"Original:%@ (length %d)", myString, [myString length]);
                    NSLog(@"Best-fit-mapped:%@ (length %d)", asciiString, [asciiString length]);
                    // output:
                    // Original:My Test String...(length 15)
                    // Best-fit-mapped:My Test String...(length 17)
                    ...


                    如果仔細查看輸出,您會發現 "..." 字符已轉換成三個連續的句號。如果根據輸出緩沖區調整了輸出緩沖區大小,則應用程序易受緩沖區溢出攻擊。其他字符可從一個字符映射到兩個。希臘字符 "fi" 會映射到 "f",后跟 "i"。通過前期加載包含這些字符的緩沖區,攻擊者可完全控制用于實施緩沖區溢出攻擊的字符數量。

                    REFERENCES

                    [1] Apple Secure Coding Guide Apple

                    [2] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 176

                    [3] String Programming Guide Apple


                    Copyright 2013 Fortify Software - All rights reserved.
                    (Generated from version 2013.1.1.0008 of the Fortify Secure Coding Rulepacks)
                    desc.semantic.objc.method_may_best_fit_map_characters

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频