tgoop.com/webpwn/304
Last Update:
Параметры можно передавать не только в виде привычного Query, типа:site/path?param=123¶m2=456
Есть такая штука, называется Path-Style Parameter Expansion (или Matrix в Spring).
Выглядит это подобным образом:site/path;param=123;param2=456
Главное отличие, что Path Parameters можно передавать к конкретному пути, в то время как query применяется к запросу в целом:site/user;id=123/send;message=456/?page=789
Так вот, в Tomcat/Jetty знак ;
укажет, что дальше идут эти параметры до следующего символа /
. А если впереди стоит nginx/apache, то символ для него ничего не значит, это будет просто частью имени директории.
Таким образом, обращение на условный /doc/..;abc=def/manager
приведет к тому, что Tomcat обратится к /doc/../manager
, то есть выйдет из текущего сервлета и обратится к manager (админка tomcat).
P.S. Я всегда думал, что ; для Java, это что-то вроде нульбайта, который обрезает строку (в weblogic, кстати, обрезается вся строка). Но GreenDog (можно познакомиться с ним у МимоКрокодила) мне рассказал, откуда корни растут.
P.P.S. Еще по теме, Orange Tsai с примерами на BlackHat (с 40й страницы)
BY Кавычка
Share with your friend now:
tgoop.com/webpwn/304