Обложка канала

Кавычка

9725 @webpwn

Ломать - не строить

Кавычка

5 лет назад
Открыть в
Параметры можно передавать не только в виде привычного Query, типа: site/path?param=123&param2=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й страницы)