我搜索在谷歌为规范表示的意义和翻起是完全太隐蔽的文件。任何人都可以提供规范化表示的简单说明,也什么都是网站的一些典型的漏洞,规范表示攻击?

有帮助吗?

解决方案

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上的输入行为。

scroll top