Why do you think, that

/myapp/%252e%252e/otherapp/danger

is equivalent to

/myapp/../otherapp/danger ?

Because it is on the Tomcat side and it ends up
as /otherapp/danger.

No it is not. If you send

/myapp/%252e%252e/otherapp/danger

to Tomcat, it will map the URL into the /myapp context (which is correct).

Now, your suggestion would send an faulty uri for
something that shouldn't be passed by the mod_jk at
the first place, because *we know* how the uri will
be decoded on Tomcat.

Unless we change the AJP connector, there are only three possibilities:

- either we iterate over URL decoding unless no more '%' signs are in it
- or we deny all URLs with '%25' in them
- or we reencode the URL

As I understand you, the first two are more what you are about. But this will not allow any requests to be processed, which have a percent character as part of their ressource description. But those URLs are valid!

Once again: I think that reencoding and afterwards decoding by Tomcat is the identity operation. So we are in the very god situation, that all mod_jk/httpd logic has been done against the same URL, that will be used by Tomcat.

I tried to provide some evidence, why a *decoded* URL of the form

/myapp/%2e%2e/otherapp/danger

is valid, is unequal to /otherapp/danger and belongs to the /myapp context. Also I showed, why double decoding usually is assumed to be bad practise. Assume there s some content scanning in front of Apache and we double decode, then the same problem will be between the component in front and us. We will end up by simply denying everything with '%25' in it and I find that much more inadequate then reencoding the URL.

Why do you think it is a "faulty uri" and we shouldn't pass it along? Simply reencode and erything is fine.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to