Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Fallo de seguridad?

Estas en el tema de Fallo de seguridad? en el foro de PHP en Foros del Web. Hola tengo el siguiente codigo para comprobar el login: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if ( ! $errores ) {         ...
  #1 (permalink)  
Antiguo 26/08/2013, 03:01
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Fallo de seguridad?

Hola tengo el siguiente codigo para comprobar el login:

Código PHP:
Ver original
  1. if(!$errores){
  2.         $con=mysql_connect($h,$u,$p,$b) or die(mysql_error());
  3.         $b=mysql_select_db($b,$con);
  4.         $select=mysql_query('SELECT * FROM registro_c WHERE user="'.trim($_POST['user']).'"') or die(mysql_error());
  5.         if($select){
  6.             $select=mysql_fetch_array($select);
  7.             if($select['pw']!=trim(md5($_POST['pw']))){
  8.                 $errores[]='User o pass incorrectos';
  9.             }
  10.         }else{
  11.             $errores[]='User o pass incorrectos';  
  12.         }
  13.     }

Como se puede saltar este sistema ya que no utilizo mysqli_real_escape_string o algo similar. De modo que lo que esta en $_POST['user'] es lo que envia el usuario. para $_POST['pw'] igual.

El array $errores contiene un string o no segun la longitud de lo enviado en user y pw. Simplemente para no hacer consultas innecesarias.

En resumen como se puede entrar en mi sistema ??

Creo que es algo facil pero a mi no se me ocurre ya que soy nuevo ;D

Saludos
  #2 (permalink)  
Antiguo 26/08/2013, 09:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Fallo de seguridad?

Investiga acerca de SQL-Injection, eso es todo lo que necesitas saber por ahora ya que tu sistema está bastante expuesto a dicho ataque.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 26/08/2013, 13:36
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Cita:
Iniciado por pateketrueke Ver Mensaje
Investiga acerca de SQL-Injection, eso es todo lo que necesitas saber por ahora ya que tu sistema está bastante expuesto a dicho ataque.
Hola esto ya lo he leido tambien con los ejercicios pero para mi sistema no se me ocurre como pasarla. Simplemente por aprender
Saludos
  #4 (permalink)  
Antiguo 26/08/2013, 13:59
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Fallo de seguridad?

O sea, lo que quieres es un ejemplo específico de COMO INYECTARTE TÚ MISMO? Eso es complicado, pues los que hacen inyecciones no son gente de pensamiento tan simple con solo ponerte unas comillas y unas sentencia.. crean programas que buscan cada debilidad de tu form y tu Script por descarte... pero si ves en WIKIPEDIA tienes un ejemplo de qué es y un ejemplo de como vulnerar, lo cual no significa que el ejemplo funcione... es solo una muestra de que eso puede pasar y cómo deberías evitarlo....

Si bien es info simple es una gran información..

http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL#PHP
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 26/08/2013, 14:33
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Cita:
Iniciado por loncho_rojas Ver Mensaje
O sea, lo que quieres es un ejemplo específico de COMO INYECTARTE TÚ MISMO? Eso es complicado, pues los que hacen inyecciones no son gente de pensamiento tan simple con solo ponerte unas comillas y unas sentencia.. crean programas que buscan cada debilidad de tu form y tu Script por descarte... pero si ves en WIKIPEDIA tienes un ejemplo de qué es y un ejemplo de como vulnerar, lo cual no significa que el ejemplo funcione... es solo una muestra de que eso puede pasar y cómo deberías evitarlo....

Si bien es info simple es una gran información..

http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL#PHP
Hola lo de wikipedia ya lo he visto pero y como dices, quiero un ejemplo de como injectarme a mi mismo es solo para empezar a aprender. Para saber formas de atacar y defender aunque se la function mysql_real_escape_string() pero no la he usado para saber como se injecta a otros usuarios ya que si alguien utiliza un sistema como el mio no se me ocurre nada.

Puedes darme un ejemplo de mi codigo?

Saludos
  #6 (permalink)  
Antiguo 26/08/2013, 14:52
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Fallo de seguridad?

O sea, si ya leiste WIKIPEDIA verás que hay un ejemplo, hazlo como te muestra el ejemplo e imprime la consulta y haz como te muestra de como subsanar e imprime la cosulta a ver que te sale, analizalo...

No tiene sentido lo que pides y además me parece que lo que estás buscando va contra las normas del foro e incitas conductas inapropiadas y solicitas código malicioso, muy poco ético.

Por favor no insistas en esto.
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 27/08/2013, 01:28
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Cita:
Iniciado por loncho_rojas Ver Mensaje
O sea, si ya leiste WIKIPEDIA verás que hay un ejemplo, hazlo como te muestra el ejemplo e imprime la consulta y haz como te muestra de como subsanar e imprime la cosulta a ver que te sale, analizalo...

No tiene sentido lo que pides y además me parece que lo que estás buscando va contra las normas del foro e incitas conductas inapropiadas y solicitas código malicioso, muy poco ético.

Por favor no insistas en esto.
Lol... creo que no me has entendido bien. Lo que quiero no es atacar, si no quiero que si puedes demostrarme como se realizan los ataques sql para saber formas de defenderme a parte de mysql_real_escape_string ya que en mi sistema no creo que se pueda pasar. Osea quiero saber como defender me y para esto hay que saber como te injectan o no?
Corrige me si me confundo y si esto influye a las normas doy el tema como solucionado y lo dejamos.

Saludos
  #8 (permalink)  
Antiguo 27/08/2013, 02:31
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Fallo de seguridad?

Cita:
Iniciado por patilanz Ver Mensaje
Lol... creo que no me has entendido bien. Lo que quiero no es atacar, si no quiero que si puedes demostrarme como se realizan los ataques sql para saber formas de defenderme a parte de mysql_real_escape_string ya que en mi sistema no creo que se pueda pasar. Osea quiero saber como defender me y para esto hay que saber como te injectan o no?
Corrige me si me confundo y si esto influye a las normas doy el tema como solucionado y lo dejamos.

Saludos
san google está lleno de ejemplos SQL injection.

en concreto, tu aplicación es vulnerable si el usuario en el campo type="text" introduce

Código SQL:
Ver original
  1. " OR "1"="1


como mínimo le va a devolver toda la info del usuario en la tablaregistro_c.
__________________
Ayúdame a hacerlo por mi mismo.
  #9 (permalink)  
Antiguo 27/08/2013, 04:25
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Cita:
Iniciado por guardarmicorreo Ver Mensaje
san google está lleno de ejemplos SQL injection.

en concreto, tu aplicación es vulnerable si el usuario en el campo type="text" introduce

Código SQL:
Ver original
  1. " OR "1"="1


como mínimo le va a devolver toda la info del usuario en la tablaregistro_c.
Pues no.. esto ya lo probé antes y ahora también pero muestra que el nombre de usuario o la contraseña son incorrectos.
Saludos

@Edit: Si le agrego " OR "1"="1" una comilla muestra el error de syntaxis:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1""' at line 1

Pero nada mas.
  #10 (permalink)  
Antiguo 27/08/2013, 04:52
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Fallo de seguridad?

pues algo raro tienes, porque a mi sí me vulnera la seguridad si lo hago tal y como te indico.

si te dice que el usuario o la contraseña son incorrectos es porque el $select no contiene nada y si no contiene nada es porque el mysql_query no devuelve nada por lo que salta al die(), función que no devuelve nada.

por lo tanto en tu programa hay algo raro. tal vez en la bd, o tal vez a la hora de enviar los datos a la consulta.

en una consulta SQL el injection se puede hacer así en tu caso, de hecho lo he probado en una consuta mía siguiendo las mismas pautas de comillas para poder hacerlo y sí lo vulnera.

luego está el asunto de qué es $errores, porque si estás limpiando el código antes de la consulta entonces no lo has dicho...

no es problema de poder hacer sql injection en tu código, es problema de que tal vez no se pueda porque estés haciendo algo previo que lo impida o algo en el proceso que impida hacer sql injection, como llevar mal los datos a la consulta (usuario no existente, datos mal insertados, ...) o columnas de la tabla que no existen.

comienza haciendo una consulta sencilla y vas incrementando la complejidad de la consulta y del sql injection a la vez, ahí no tendrás problemas para comprobar lo que deseas obtener.

saludos.
__________________
Ayúdame a hacerlo por mi mismo.
  #11 (permalink)  
Antiguo 27/08/2013, 06:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 43
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Fallo de seguridad?

Si lo usas en un servidor con cPanel lo más probable es que tengas activado el MagicQuotes y por ende te está escapando las comillas.

Saludos
  #12 (permalink)  
Antiguo 27/08/2013, 06:51
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Hola,
guardarmicorreo mi codigo de comrobar el login es una funcion que primero comprueba la longitud de la contrasena y el user y luego siguie con el codigo que muestre anteriormente. Los datos no pueden estar mal porque si pongo un usuario y contrasena correctos se loguea bien.

santi- estoy con hostinger que tiene un panel cPanel pero si me escapa las comillas no mostraría un error de sintaxis si pongo: " OR "1"="1


Y otra cosa guardarmicorreo antes digiste que por lo menos debe de mostrarme los datos del usuario. Como es posible si no imprimo en ninguna parte el resultado de la consulta si no lo compruebo con if ?? Y la contrasena es codificada con md5() ??

Saludos

@Edit: Voy a crear otro archivo y voy a comprobar el codigo aparte a ver si es vulnerable a parte y os digo el resultado
  #13 (permalink)  
Antiguo 27/08/2013, 06:55
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Fallo de seguridad?

La inyección SQL es sólo eso que te estamos indicando, algunos lo sabrán hacer con más gracia o ingenio, pero para eso estan las funciones mysql como para escapar las comillas, que son el real problema, por eso no comprendo ¿QUÉ EJEMPLO MÁS QUIERES?...

A ver si comprendes... La inyección SQL de manera más bajada a tierra se da con el juego de comillas dobles o simples, por ende tienes que escaparlas... no hay otro misterio en ello... si conoces de SQL sabrás que cosas te pueden vulnerar y que no... no es una cuestión de PHP. Si dices que leíste bastante, me extraña que de nuevo preguntes... Su nombre te lo dice TE INYECTAN UN SQL ¿Cómo? Pues en la vulnerabilidad de poder sobreescribir tu consulta, y eso se da porque le permites insertar comillas... no se si te queda claro el concepto...

ya te lo dijo en el primer post pateketrueke

Cita:
Investiga acerca de SQL-Injection, eso es todo lo que necesitas saber por ahora ya que tu sistema está bastante expuesto a dicho ataque.
Si había otra vulnerabilidad, ya te la hubiera dicho o te la hubieramos indicado...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #14 (permalink)  
Antiguo 27/08/2013, 07:10
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Cita:
Iniciado por loncho_rojas Ver Mensaje
La inyección SQL es sólo eso que te estamos indicando, algunos lo sabrán hacer con más gracia o ingenio, pero para eso están las funciones mysql como para escapar las comillas, que son el real problema, por eso no comprendo ¿QUÉ EJEMPLO MÁS QUIERES?...

A ver si comprendes... La inyección SQL de manera más bajada a tierra se da con el juego de comillas dobles o simples, por ende tienes que escaparas... no hay otro misterio en ello... si conoces de SQL sabrás que cosas te pueden vulnerar y que no... no es una cuestión de PHP. Si dices que leíste bastante, me extraña que de nuevo preguntes... Su nombre te lo dice TE INYECTAN UN SQL ¿Cómo? Pues en la vulnerabilidad de poder sobrescribir tu consulta, y eso se da porque le permites insertar comillas... no se si te queda claro el concepto...

ya te lo dijo en el primer post pateketrueke



Si había otra vulnerabilidad, ya te la hubiera dicho o te la hubieramos indicado...
Hola cierto lo que decis pero el problema es que en mi codigo no funciona la injeccion y no estoy usando mysqli.real-escape-string ... tendria algo mas que influye en esto y simplemente quiero saber lo que es ya que ahora acabo de crear otro archivo aparte y no funciona la injeccion osea pasa algo extrano y quiero averiguar lo que es.
Lo del consepto lo entiendo muy bien pero luego no funciona al intentar aplicarlo sobre mi mismo para saber si me he defendido o no.

Bueno aqu tengo el codigo en otro documento:

Código PHP:
Ver original
  1. <!DOCTYPE HTML>
  2. <meta charset="utf8">
  3. <?php
  4. if($_POST['user'] && $_POST['pw']){
  5.     $h='mysql.hostinger.es';
  6.     $u='u171863611_prueb';
  7.     $p='OU7aJ900';
  8.     $b='u171863611_prueba';
  9.     if(!$errores){
  10.         $con=mysql_connect($h,$u,$p,$b) or die(mysql_error());
  11.         $b=mysql_select_db($b,$con);
  12.         $select=mysql_query('SELECT * FROM registro_c WHERE user="'.trim($_POST['user']).'"') or die(mysql_error());
  13.         if($select){
  14.             $select=mysql_fetch_array($select);
  15.             if($select['pw']!=trim(md5($_POST['pw']))){
  16.                 $errores[]='User incorrecto! ';
  17.             }
  18.         }else{
  19.             $errores[]='User incorrecto!'; 
  20.         }
  21.     }
  22.     if($errores){
  23.         echo implode($errores,'<br />');
  24.     }else{
  25.         echo 'bien';
  26.     }
  27. }
  28. ?>
  29.  
  30. <form method="POST" action=<?php echo $_SERVER['PHP_SELF'];?>>
  31.     <input type="text" name="user" />
  32.     <input type="password" name="pw" />
  33.     <input type="submit" />
  34. </form>

Lo he probado con: " OR "1"="1 y me dice user incorrecto

Simplemente quiero saber porque ocurre esto lo del concepto y como realizan la infecciona ya lo se bueno en teoría.
  #15 (permalink)  
Antiguo 27/08/2013, 07:42
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo de seguridad?

Hola, lo primero que quiero decir es que en vez de estar haciendo pruebas de injection para intentar protejer tu sistema , lo primero que deberias de haces es migrar de mysql a mysqli o PDO , mysql esta deprecado amigo . http://www.forosdelweb.com/f18/anunc...oleta-1008145/

lo segundo que introducir tal que asi trim($_POST['user']) en la consulta directamente sin ningun tipo de validacion ni saneamiento de ningun tipo es una muy mala malisima practica.

saludos.
  #16 (permalink)  
Antiguo 27/08/2013, 07:53
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Fallo de seguridad?

Cita:
Iniciado por webankenovi Ver Mensaje
,mysql esta deprecado amigo .
Aún no está deprecado, a menos que me muestres un link de la página oficial de PHP donde dice que esta deprecado... lo ideal es desarrollar mysqli o PDO o Postgres u otro, pero no digas que está deprecado porque no es así (al menos no todavía)
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #17 (permalink)  
Antiguo 27/08/2013, 07:54
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Fallo de seguridad?

dices que utilizas hostinger. en ese caso no se si has visto lo siguiente

Cita:
No soportamos el módulo suPHP. Sin embargo corremos otros módulos de seguridad como protección PHP open_basedir, Suhosin PHP hardening y el módulo Apache mod_securty . Todo esto garantiza la mejor seguridad para tu sitio.
las características de seguridad Suhosin PHP hardening incluyen (sacado de aquí)

Cita:
magic_quotes_gpc y magic_quotes_runtime [Obsoleto desde PHP 5.3.0]

Con estas funciones podemos escapar caracteres que pueden causar problemas con la interacción de bases de datos y permitir inyección de sentencias (como ' o "). No es una protección adecuada, por lo que es necesario utilizar las funciones específicas para solucionar estos fallos.

Ejemplo:
magic_quotes_gpc = On
magic_quotes_runtime = On
si ves las características de hosting gratuito de hostinger verás que dice

Cita:
Características PHP:

PHP versión 5.2.x
¿estás en hosting gratuito?

pues eso es lo que está pasando exactamente.

si quieres aprender sobre SQL injection lo mejor es probarlo de forma local con una versión actual de PHP (en mi caso 5.4 y es la que te recomiendo para que estés siempre actualizado).

básicamente ya te han dicho en qué consiste SQL injection, si a ti no te sucede el SQL injection tal y como se te ha descrito en este hilo es por los pequeños detalles que te he dicho que a la hora de la verdad son importantes. por eso te dije que algo raro estaba pasando en algún sitio de tu programa, pues no era precisamente en tu programa, sino en tu hosting/servidor.

saludos
__________________
Ayúdame a hacerlo por mi mismo.
  #18 (permalink)  
Antiguo 27/08/2013, 08:06
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo de seguridad?

Cita:
Iniciado por loncho_rojas Ver Mensaje
Aún no está deprecado, a menos que me muestres un link de la página oficial de PHP donde dice que esta deprecado... lo ideal es desarrollar mysqli o PDO o Postgres u otro, pero no digas que está deprecado porque no es así (al menos no todavía)
Tienes razon fue un error mio , queria decir obsoleto (a partir de la 5.5.0) la ultima version estable es 5.5.3 , en versiones anteriores a 5.5 si es posible su uso pero yo no lo recomiendo.

http://es1.php.net/manual/es/intro.mysql.php

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro .
  #19 (permalink)  
Antiguo 27/08/2013, 08:46
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Estoy usando mysql ya que estoy acostumbrado a el y pronto me voy a comprar un libro de php 5 pero algo mas avanzado donde quiero aprender mysqli orientado a objetos y básicamente php orientado a objetos ya que no se usarlo. Eso aparte.

guardarmicorreo no habia visto lo que me mostrarte pero cuando entro en mi cuenta gratuita hay un lugar de configuracion php donde puedo escoger entre 5.2 5.3 y 5.4 yo lo tengo en 5.2 por falta de conocimientos en los posteriores.
Las caracteristicas los he visto pero ne habia dado cuenta.
Voy a hacer lo localmente.

Muchas gracias a todos.
  #20 (permalink)  
Antiguo 27/08/2013, 09:00
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Fallo de seguridad?

Cita:
Iniciado por patilanz Ver Mensaje
Estoy usando mysql ya que estoy acostumbrado a el y pronto me voy a comprar un libro de php 5 pero algo mas avanzado donde quiero aprender mysqli orientado a objetos y básicamente php orientado a objetos ya que no se usarlo. Eso aparte.

guardarmicorreo no habia visto lo que me mostrarte pero cuando entro en mi cuenta gratuita hay un lugar de configuracion php donde puedo escoger entre 5.2 5.3 y 5.4 yo lo tengo en 5.2 por falta de conocimientos en los posteriores.
Las caracteristicas los he visto pero ne habia dado cuenta.
Voy a hacer lo localmente.

Muchas gracias a todos.
ánimo, personalmente te recomiendo xampp.
__________________
Ayúdame a hacerlo por mi mismo.
  #21 (permalink)  
Antiguo 27/08/2013, 10:54
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 4 meses
Puntos: 29
Respuesta: Fallo de seguridad?

Si es el que ayer me descargue :D y esta mejor que apache que usaba .

Etiquetas: fallo, mysql, registro, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:26.