什么是规范的表示意味着其潜在的脆弱性网站
-
19-09-2019 - |
题
我搜索在谷歌为规范表示的意义和翻起是完全太隐蔽的文件。任何人都可以提供规范化表示的简单说明,也什么都是网站的一些典型的漏洞,规范表示攻击?
解决方案
Canonicalisation是由你采取的输入,诸如文件名,或者是字符串,并把它变成一个标准表示的过程。
例如,如果web应用程序只允许在C对文件的访问:\网站\ MYDOMAIN然后通常任何输入参照文件名被canonicalised是物理的,直接路径,而不是一个,它使用相对路径。如果你想打开C:\网站\ MYDOMAIN \例子\ example.txt中的一个输入到该功能可能是例如\ example.txt中。很难制定出这样下去你的网站的边界之外,所以canonicalisation功能会查看应用程序目录,并改变相对路径到物理上的,C:\网站\ MYDOMAIN \例子\ example.txt中。这显然是容易检查,因为你只要做一个字符串的文件路径的起点比较。
有关HTML输入你把像%20输入,并通过unencoding canonicalise它们,因此这将变成一个空格。这是一个好主意,因为编码的不同方式的数量众多,canonicalisation意味着你将只检查已解码的字符串,而不是试图覆盖所有的编码变化。
基本上你正在服用输入逻辑上等效,并将它们转换成标准形式,然后可以在采取行动。
其他提示
在下面的解释是从“应用安全和开发STIG”发现 >:
3.11规范表示 规范的表示出现问题 当资源的名称用于 控制资源访问。有 较多种方法 在计算机系统上的资源名称。 应用程序仅在依靠 资源名来控制访问可能 正确作出访问控制 如果在被指定的名称决定 无法识别的格式。
例如, 在Windows中,的notepad.exe可能 由以下文件所表示和 路径名的组合:
C:\ Windows \ System32下\ Notepad.exe的
%SYSTEMROOT%\ System32下\ Notepad.exe的
\ \ C:\ Windows \ System32下\ Notepad.exe的
\主机\ C $ \ Windows \ System32下\ Notepad.exe的
的应用程序试图限制 访问仅在基于文件 文件路径和名称可能不正确 授予或拒绝访问。同样的问题 可以适用于其它命名资源上 的系统中,诸如硬件和 软链接,URL,管,分享, 目录,设备名称,或内的数据 文件时,如果替代编码 机制用于与数据。
在 下列项目可能表明潜在的 在一个典型代表问题 应用程序:
•访问控制 基于资源名的决定。
•未能减少资源名称 使用前,它的规范形式。
在 为了尽量减少规范 在代表问题 应用程序,实现以下 程序:
•不要仅仅依靠 资源名称来控制访问。
•如果 使用资源名称来控制 访问,验证名称,以确保 他们是在正确的格式;拒绝 所有名称不拟合已知良好 标准。
•使用基于操作系统 访问控制机制,如 权限和ACL。
Canonicalisation意味着减少接收到它的最简单的形式的数据,它的用于输入验证。
规范(我认为)意味着控制台输入是“典型的行为”。非规范意味着输入是非标准和需要专门的知识,如“VI” Linux上的输入行为。