正如我们已经知道的,可以使用外部代理工具修改 URL 和 FORM 范围变量。
例如,如果有人提出这样的请求 -http:\\website\index.cfm?a=1&b=2
这样就可以将值添加到.cfm
页面的 URL 范围。
同样,是否有任何方法可以在 ColdFusion 中添加/更改请求范围的值,而无需在代码中明确设置。
我问这个是因为我们在一个 CFM 页面中有这样的代码。
<cfset request.uploadFileDir = application.fileDir & "\upload" />
<cffile action="upload" accept="application/pdf" destination="#REQUEST.uploadFileDir#" filefield="brochure" nameconflict="makeunique"/>
安全团队说上述代码很容易受到攻击,因为REQUEST
JAVA 中的范围可以被外部代理工具篡改/更改。由于 ColdFusion 是基于 JAVA 构建的,ColdFusionREQUEST
也可以被外部代理工具篡改。这是一个正确的假设吗?JAVA 和 ColdFusionREQUEST
范围相同吗?
最后是主要问题 - 是否有任何方式对示例中上述页面的外部请求,修改REQUEST
范围或更精确的REQUEST.uploadFileDir
变量?