elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] ¿Es posible validar una página web con javascript?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] ¿Es posible validar una página web con javascript?  (Leído 867 veces)
zellion

Desconectado Desconectado

Mensajes: 75



Ver Perfil
[Resuelto] ¿Es posible validar una página web con javascript?
« en: 26 Agosto 2019, 21:31 pm »

Buenas noches:

Os explico un poco para poneros en contexto porque la pregunta del título es un poco general. El tema que voy a acceder a una web que no he creado yo, por ejemplo la web "www.midominio.html".

Esta página web tiene un formulario con una serie de campos que para guardar en base de datos se tiene que pulsar un botón de html. Mi idea es crear un complemento con javascript para que al pulsar un botón, realice unas serie de validaciones en los campos del formulario para identificar cuales no están correctamente rellenados.

El tema es que estado mirando por Internet sobre como leer el código fuente del html y los valores insertados por los usuarios, pero no he encontrado algo que me ayudara o no he sabido buscar bien.

¿Sabéis de alguna referencia dónde se explique lo que necesito o documentación con las cosas que debería de aprender para hacer el script? Ya que seguramente me falten conocimientos técnicos básico de javascript y de páginas web.

Muchas gracias por adelantado.

Un saludo.


« Última modificación: 9 Septiembre 2019, 20:58 pm por #!drvy » En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.279


Turn off the red ligth


Ver Perfil WWW
Re: [Preguntar] ¿Es posible validar una página web con javascript?
« Respuesta #1 en: 26 Agosto 2019, 22:50 pm »

Si la página no es tuya, en principio no puedes hacer nada con javascript. Esto tiene muchos matices.
Puedes hacer HTMLi XSS o SQLi. Crear una extensión para el navegador(es esto lo que quieres?) O un bot con node.js.

Para la extensión puedes usar la api webextensions de mozilla. Para modificar el contenido del sitio, puedes comprobar la url de la tab para saber que estás en el sitio indicado, obtener la web en un <iframe> y modificarla a tu gusto antes de mostrársela al usuario que está utilizando la extensión.


Si lo que buscas es validar TÚ página puedes hacerlo de muchas formas en front-end. Aquí parte de una página que estoy haciendo como reto de ciberseguridad.

Código
  1. <html>
  2. <head>
  3.  
  4. (SCRIPT)
  5. var username ="";
  6. var userpassword ="";
  7. var username_size = 0;
  8. var userpassword_size = 0;
  9. var username_parsed = "";
  10. var userpassword_parsed = "";
  11. (/SCRIPT)
  12.  
  13. </head>
  14. <body>
  15. <form action="#">
  16.    <label>User:</label>
  17.    <input type="text" id="username" name="user" placeholder="USER" style="width:200px">
  18.    <label>Password:</label>
  19.    <input type="text" id="userpassword" name="password" placeholder="PASSWORD" style="width:200px">
  20.    <input type="submit" value="Submit" onclick="ObtenerInput();">
  21. </form>
  22.  
  23. (SCRIPT)
  24. function ObtenerInput()
  25. {
  26. username = document.getElementById("username");
  27. userpassword = document.getElementById("userpassword");
  28. username = username.value;
  29. userpassword = userpassword.value;
  30.  
  31. alert("Obtenido Usuario " + username);
  32.  
  33. Parsear();
  34. }
  35.  
  36. function Parsear()
  37. {
  38. alert ("Iniciada funcion de parseo");
  39. username_size = username.length;
  40. userpassword_size = username.length;
  41.   for(var i = 0; i < username_size; ++i)
  42.   {
  43. alert ("Vuelta numero " + i + " de parseo");
  44.      if (username[i] == "a" || username[i] == "b" || username[i] == "c" || username[i] == "d" || username[i] == "e" ||  username[i] == "f" || username[i] == "g" || username[i] == "h" || username[i] == "i" || username[i] == "j" ||   username[i] == "k" || username[i] == "l" || username[i] == "m" || username[i] == "n" || username[i] == "ñ" || username[i] == "o" || username[i] == "p" || username[i] == "q" || username[i] == "r" || username[i] == "s" ||  username[i] == "t" || username[i] == "u" || username[i] == "v" || username[i] == "w" || username[i] == "x" ||   username[i] == "y" || username[i] == "z" || username[i] == "A" || username[i] == "B" || username[i] == "C" || username[i] == "D" || username[i] == "E" || username[i] == "F" || username[i] == "G" || username[i] == "H" ||  username[i] == "I" || username[i] == "J" || username[i] == "K" || username[i] == "L" || username[i] == "M" ||   username[i] == "N" || username[i] == "Ñ" || username[i] == "O" || username[i] == "P" || username[i] == "Q" ||  username[i] == "R" || username[i] == "S" || username[i] == "T" || username[i] == "U" || username[i] == "V" ||  username[i] == "W" || username[i] == "X" || username[i] == "Y" || username[i] == "Z" || username[i] == "0" ||   username[i] == "1" || username[i] == "2" || username[i] == "3" || username[i] == "4" || username[i] == "5" || username[i] == "6" || username[i] == "7" || username[i] == "8" || username[i] == "9" || username[i] == "_" ||  username[i] == "#" || username[i] == "@" || username[i] == "$" || username[i] == "^" || username[i] == "&" ||   username[i] == "." || username[i] == " " || username[i] == "*" || username[i] == "," || username[i] == "×" || username[i] == "÷" || username[i] == "[" || username[i] == "]" || username[i] == "€" || username[i] == "£" ||  username[i] == "¥" || username[i] == "&#9825;" || username[i] == "&#9734;")
  45.      {
  46.       username_parsed+=username[i];
  47.      }
  48.  
  49.      else
  50.      {
  51.      alert("Has introducido un caracter invalido: " + username[i]);
  52.      }
  53.  
  54.   }
  55.    alert("Usuario: " + username_parsed);
  56. }
  57. (SCRIPT)
  58.  
  59. </body>
  60. </html>

Creo que buscas algo así. Cambia las etiquetas (SCRIPT) y (/SCRIPT) Por las originales que me salta la protección del foro.

En el form, en el botón submit añadí onclick="ObtenerInput();"

Al apretar el botón se llama a la función javascript. Se ejecutará lo que haya dentro de la función. Aquí la declaro:
Citar
function ObtenerInput()
{
username = document.getElementById("username");
userpassword = document.getElementById("userpassword");
username = username.value;
userpassword = userpassword.value;

alert("Obtenido Usuario " + username);

Parsear();
}

Con username = document.GetElementById("");
Obtengo el objeto del campo del formulario USUARIO. Y este objeto lo guardo en una variable de javascript.

Con username = username.value; Accedo al nuevo contenido guardado para obtener el valor, es decir, lo que introduce el usuario en campo USUARIO del formulario.

Al final llamo a otra función Parse(); que se asegura que no se reflejen caracteres peligrosos en la web a través de introducirlos directamente en el formulario. Sigue habiendo más vulnerabilidades que se pueden explotar y desde otros sitios.

En las multiples comprobaciones se comprueba que el caracter introducido sea uno de los que yo considero que no son peligrosos. Y en caso de ser un caracter no peligroso se añade a la variable final que almacenará el USUARIO.

Aquí puedes probar el el login live por si es eso lo que buscas. http://stringmanolo.byethost12.com/RetoA.html


« Última modificación: 26 Agosto 2019, 23:02 pm por string Manolo » En línea

zellion

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: [Preguntar] ¿Es posible validar una página web con javascript?
« Respuesta #2 en: 26 Agosto 2019, 23:39 pm »

Buenas String Manolo:

Claro, el problema es que no es mi página web. La idea es hacer algo parecido a lo que hacen en el siguiente link: https://developer.mozilla.org/es/docs/Mozilla/Add-ons/WebExtensions/Tu_primera_WebExtension

En el link anterior se crea una extensión para firefox que hace un borde rojo en la ventana cuando se visita la página web de "mozilla.org". El tema es que había pensado, en crear un botón en la barra de herramientas, como hacen en adblock, y que se ejecute código javascript para verificar, por ejempo, que un campo "textbox" este vacío.

Creo que el código que me has facilitado podría ayudarme, le voy a echar un vistazo para coger ideas.

Muchas gracias.

Un saludo.
En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.279


Turn off the red ligth


Ver Perfil WWW
Re: [Preguntar] ¿Es posible validar una página web con javascript?
« Respuesta #3 en: 27 Agosto 2019, 00:24 am »

Es exactamente algo como addblock lo que necesitas. Es exactamente lo que tenía en mente cuando te comenté lo de la extensión. Igual este artículo te es útil de alguna manera puedes hablarme por privado si no das resuelto alguna parte del proceso. Me encontré varias protecciones. En la cloud de mozilla para hostear la extensión, en Androids con apps ya firmadas, el propio android con fuentes de origen desconocido, etc. Pero puedes correrlo como "dev" si es para uso personal y sin más. Si es para distribuir es más complejo. https://foro.elhacker.net/foro_libre/74_millones_de_usuarios_infectados_con_bundled_software_parte_del_proceso-t498471.0.html

Héchale un ojo al último source de add block plus. Te sirve ya sea para usar ya esa extensiòn o para ejemplo de una nueva. El código es algo pesado para comértelo de golpe, pero está bien comentado y organizado. Si no entiendes algo importante del código pregúntame que lo tengo chapado de memoria xD
En línea

zellion

Desconectado Desconectado

Mensajes: 75



Ver Perfil
Re: [Pregunta] ¿Es posible validar una página web con javascript?
« Respuesta #4 en: 27 Agosto 2019, 10:02 am »

Perfecto, es justo lo que buscaba. Le he echado un vistazo al otro post y está muy bien, voy a descargar el código de adblock para revisar su código.

Gracias  ;-) ;-).
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
error al validar formulario javascript
Desarrollo Web
Azielito 3 3,024 Último mensaje 29 Abril 2010, 17:33 pm
por -Ramc-
Ayuda para Validar W3C una Web. (RESUELTO)
Desarrollo Web
MA40 4 3,136 Último mensaje 15 Octubre 2010, 11:46 am
por MA40
Validar numeros (Resuelto)
Java
jesslandero2 0 3,052 Último mensaje 7 Junio 2014, 18:30 pm
por jesslandero2
Validar radio buttoms con javascript
Desarrollo Web
James_JPM 0 939 Último mensaje 11 Noviembre 2016, 16:54 pm
por James_JPM
RESUELTO <- Fallo al validar la sesión
Sugerencias y dudas sobre el Foro
MadBad 2 5,023 Último mensaje 14 Junio 2017, 16:59 pm
por MadBad
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines