Hi.

Miguel Gonzalez wrote:
Dear all,

  I have tomcat 5.5.27 and jdk 1.5.0_17

That's all quite old,and you should probably upgrade.


  As someone suggested to the list I enabled HeapDumpOnOutOfMemoryError. I have 
javamelody running to monitor tomcat. The only thing that I see is that memory 
use increases just before the system crashed.


  The system has crashed only showing this in the catalina.log:

  May 8, 2012 12:03:48 PM org.apache.tomcat.util.http.Parameters 
processParameters
WARNING: Parameters: Character decoding failed. Parameter skipped.
java.io.CharConversionException: isHexDigit
...



Many entries like: May 8, 2012 12:03:48 PM 
org.apache.tomcat.util.http.Parameters processParameters
WARNING: Parameters: Invalid chunk ignored.

Ther above seems to indicate that your server receives requests with URLs that are not properly URL-encoded. In a URL, roughly-speaking, any character (in fact, any byte) that is not a printable US-ASCII character must be encoded as a "%xy" hex sequence, where "xy" is the hexadecimal value of the character. The4 above error seems to indicate that you are receiving request URLs which contain sequences like "%xy" where "xy" are not valid hexadecimal digits. In consequence, the URL-decoding part of Tomcat cannot decode these URLs properly, and complains.


until I get :

May 8, 2012 1:50:41 PM org.apache.coyote.http11.Http11BaseProtocol pause
INFO: Pausing Coyote HTTP/1.1 on http-80
May 8, 2012 1:50:41 PM org.apache.coyote.http11.Http11BaseProtocol pause
INFO: Pausing Coyote HTTP/1.1 on http-443

...

Now this seems to be a normal Tomcat shutdown, following a received shutdown 
command.
But it could be the result of running out of memory for example.

I do not know if the two are related or not. But in my suspicious mind, I would try to examine which request URLs are the badly-encoded ones, and try to find out where these requests come from. That is because they could very well be attempts to break your server (if it is connected to the Internet e.g.). And maybe your unexplained shutdowns are due to a succesful break-in, or a succesful DOS attack ?



Not sure if the  isHexDigit exception is causing this. but it happens 2 hours 
before the system breaks.


Maybe an attacker is trying a series of URLs in a row, and finally they manage one that finds a weakness in your very very old Tomcat.

I really don't know what to enable to get to know what is causing Tomcat to 
crash

Enabling the AccessLog Valve may enable you to see the bad request URLs.
If they do not show up in the Access log (unlikely, since Tomcat apparently continues to run), you may want to set up an Apache httpd front-end to your Tomcat, and log the accesses there.


Searching Google for "tomcat isHexDigit attack" provides some links you might 
want to look at.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to