Cuando ingreso el símbolo de porcentaje(%) en el campo de la contraseña del formulario de inicio de sesión obtengo un error interno en el servidor, lo curioso de esto es de que este error no se puede ver directamente en el navegador, si no que puede ver mediante la herramienta BurpSuite, el error es el siguiente:
HTTP/1.1 500 Error Interno del Servidor

Date: Mon, 22 Mar 2021 02:51:41 GMT

Server: Apache

Content-Length: 4329

Connection: close

Content-Type: text/html;charset=UTF-8



<HTML><HEAD><TITLE></TITLE>
  <META content="text/html; charset=UTF-8" http-equiv="Content-Type" />
  <META HTTP-EQUIV="Cache-Control" CONTENT="no-store">
  <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
  <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
  <META HTTP-EQUIV="Expires" CONTENT="-1">
  
  <link rel="shortcut icon" href="favicon.ico">
  
    <style type="text/css"  title="Normal Text">@import url("themes/blue/fixed.css");</style>
    
  
    
    <script type="text/javascript" src="/js/prototype.js"></script>
    <script type="text/javascript" src="/window.js"></script>
    <script type="text/javascript" src="/utilitarios.js"></script>  
    
    <script type="text/javascript" src="/controls.js"></script>    
      
    <script type="text/javascript" src="/ajaxtags.js"></script>    
    <script type="text/javascript" src="/effects.js"></script>
    

    
  
</HEAD>



<!--
java.lang.NullPointerException
at org.x.x.x.web.login.LoginControlador.handleRequest(LoginControlador.java:90)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.uajms.dtic.ecoimata.util.UTF8Filter.doFilter(UTF8Filter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:165)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:209)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.ajp.AjpNioProcessor.process(AjpNioProcessor.java:175)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1782)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1741)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

Cookies:

JSESSIONID=[E3D23786F0912664DBC171A7FF769007.tomcat117]


-->


<center>
<div class="cuadroAviso error" >
<H3>  Aviso  !!!!</H3>
Ocurrio un problema al atender su solicitud<br/>
por favor intente nuevamente.
<br><br>
<input type="button" value="volver" onClick="javascript:history.back();">

</div>
</center>
<P>

<BR>
 
 
Según lo que puedo ver es de ese símbolo de porcentaje esta causando una excepción de puntero nulo, mis dudas son las siguientes:
  • ¿Por qué la excepción se esta mostrando dentro de un comentario?
  • ¿Debería preocuparme por este error?
  • ¿Es posible aprovecharse de este error?
  • ¿Qué tan peligroso podría llegar a ser?
Es el típico error de mal saneamiento de inputs. 
Todo lo que preguntas se responderia leyendo las fuentes. Una prácticas habitual en todos esos sistemas hechos con java y asp eran meter los trace en comentarios así que es algo bastante común.

Código: Seleccionar todo

{******************************************************************************}
{** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING  **}
{******************************************************************************}
{**                                                                          **}
{** The prototypes, declarations and information in this file has been       **}
{** compiled from various sources as well as through reverse engineering     **}
{** techniques. We make no guarantee as to the correctness of the contents.  **}
{** Caution is recommended, USE AT YOUR OWN RISK.                            **}
{**                                                                          **}
{******************************************************************************}
Responder

Volver a “Dudas y Preguntas”