描述
的语言,用户可以在运行时影响变量的名称,如果变量名不控制,攻击者可以读或写任意变量,或访问任意的函数。
扩展描述
结果漏洞取决于应用程序的行为,在交叉点和可及的任何控制/数据流相关的变量或函数。
替代条款
的关系
背景细节
许多解释语言支持使用“$ $ varname”构造设置一个变量$ varname变量指定的名字。在PHP中,这些被称为“可变变量。”Functions might also be invoked using similar syntax, such as $$funcname(arg1, arg2).
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围
影响
可能性
保密 完整性 可用性
技术的影响: 修改应用程序数据;执行未经授权的代码或命令
攻击者可以获得未授权访问内部程序变量和执行任意代码。
观察到的例子
参考
描述
链:动态变量评价允许合成远程文件包含和路径遍历。
链:动态变量评估在PHP程序用于修改关键,为合成XSS _SERVER意想不到的变量。
链:动态变量评估在PHP程序用来进行远程文件包含。
动态变量评估邮件程序允许读和修改附件和其他用户的偏好。
潜在的缓解措施
实施阶段:
重构代码尽可能避免动态变量的评估。
实施阶段:
只使用allowlists可接受的变量或函数名。
实施阶段:
函数名,确保你只接受适当的数量的参数调用函数,以避免意外的null参数。
弱点Ordinalities
Ordinality
描述
主
(其他弱点的弱点存在独立的)
笔记
研究的差距
超,可能低报。一些研究者寻找这个问题;大多数公共报告是为PHP,尽管其他语言都受到影响。这个问题可能是生长在PHP开发人员开始实现功能register_globals的地方。
引用