Un caracter en el campo de contraseña de un formulario causa un error de estado

Iniciado por thekuervo, Marzo 22, 2021, 01:25:32 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

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:

Código: php

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?

Solo ocurre con el % o con cualquier símbolo?
De todos modos quizá lo mejor que puedes hacer es permitir los símbolos en el campo para que pueda crear una contraseña más segura. De esta forma es más segura y te ahorras el error.

Si, solo ocurre con el % y solo en el campo de la contraseña, si pongo el % en el campo de usuario no pasa nada, pero el error se genera específicamente con el símbolo de % en el campo de la contraseña.