本文介绍: 但在某些情况下,这种方法并不可行,因为这样一份合法资源名的列表过于庞大,维护难度过大。但是,任何这样一个列表都不可能是完整的,而且将随着时间的推移而过时。更好的方法是创建一个字符列表,允许其中的字符出现在资源名称中,且只接受完全由这些被认可的字符组成的输入。例如,在某一程序中,攻击者可以获得特定的权限,以重写指定的文件或是在其控制的配置环境下运行程序。如果程序以足够的权限运行,且恶意用户能够篡改配置文件,那么他们可以通过程序读取系统中以扩展名 .txt 结尾的任何文件。进入程序的值,这一数值用于通过。
Overview
攻击者可以控制 file_get_contents() 文件系统路径参数,借此访问或修改原本受保护的文件。
Details
当满足以下两个条件时,就会产生 path manipulation 错误:
1.攻击者能够指定某一文件系统操作中所使用的路径。
2. 攻击者可以通过指定特定资源来获取某种权限,而这种权限在一般情况下是不可能获得的。 例如,在某一程序中,攻击者可以获得特定的权限,以重写指定的文件或是在其控制的配置环境下运行程序。 在这种情况下,攻击者可以指定通过 mysql_query() 进入程序的值,这一数值用于通过 file_get_contents() 访问文件系统资源。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。