As we already know that the URL and FORM scope variables can be modified using external proxy tools.
For example if someone makes a request like this - http:\\website\index.cfm?a=1&b=2
This way one can add values to URL scope of a .cfm
page.
Similarly is there any way to add/alter value to request scope in ColdFusion without it being set in code explicitly.
I am asking this because we have a code like this in one of CFM page.
<cfset request.uploadFileDir = application.fileDir & "\upload" />
<cffile action="upload" accept="application/pdf" destination="#REQUEST.uploadFileDir#" filefield="brochure" nameconflict="makeunique"/>
The security team is saying that the above code is vulnerable because REQUEST
scope in JAVA can be tampered/altered by external proxy tools. And since ColdFusion is build on JAVA, ColdFusion's REQUEST
can also be tampered by external proxy tools. Is this a right assumption? Is JAVA and ColdFusion REQUEST
scope same?
And finally the main question - Is there any way an external request to the page mentioned above in the example, modify the REQUEST
scope or to be more precise REQUEST.uploadFileDir
variable?