代码之家  ›  专栏  ›  技术社区  ›  Rune Grimstad

访问clr的内部字符串列表

  •  5
  • Rune Grimstad  · 技术社区  · 17 年前

    question 我说过,虽然字符串实习很好,但它可能是一个安全问题,因为字符串值以后可以很容易地访问。

    虽然我很确定这是真的:-)但我不确定这到底有多容易。我试着用谷歌搜索这个话题,但没有得到相关的结果(google fu在这一方面很弱),所以我试着用谷歌搜索你们。

    你知道有什么“简单”的方法可以访问应用程序domian中的插入字符串列表吗?我必须使用内存转储之类的东西,还是有类似AppDomain.GetInteredStringsList()这样的方法?

    4 回复  |  直到 9 年前
        1
  •  6
  •   Jon Skeet    17 年前

    这并不特别容易,但它是可行的。

    基本上,如果你有任何可以进行内存转储的东西,你可以找到一些看起来像字符串对象的内存。(特别是,它们在开始时都具有相同的“指向类型信息的指针”,因此如果您有一个示例字符串,您就可以离开了。)

    顺便说一下,这与插入的字符串没有什么关系。这不像 全部的 字符串是仅插入的字符串常量,用户显式插入的字符串。

        2
  •  3
  •   Pop Catalin    17 年前

    这真的是一个安全漏洞吗 字符串中的敏感数据?

    敏感安全数据应使用 SecureString 班

    编辑:

    因为即使是托管堆中也存储了内部字符串,所以使用工具转储堆将显示应用程序中的所有字符串。

        3
  •  1
  •   Bombe    17 年前

    在合理的应用程序中,密码存储在字符数组中,以便在不再需要密码时可以覆盖它们。

        4
  •  1
  •   Marc Gravell    17 年前

    推荐文章