Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: @XSStringManolo en 29 Diciembre 2019, 14:16 pm



Título: Por qué se autocompletan las etiquetas <p> ?
Publicado por: @XSStringManolo en 29 Diciembre 2019, 14:16 pm
Estaba haciendo una función para añadir la etiqueta P de forma sencilla y me autocompleta las etiquetas. Alguna idea?
El código no está optimizado, primero quiero hacerlo todo.

Funcionalidad deseada? Generar este código: <p> <input></input>

Problema? Se genera <p> </p> <input></input> (Se añade automáticamente la etiqueta de cierre)



Código
  1. <html>
  2. <body>
  3. <div id="inputs"></div>
  4.  
  5.  
  6. <script>
  7. function añadirEtiqueta(etiqueta, idPadre)
  8. {
  9. document.getElementById(idPadre).innerHTML += etiqueta;
  10. }
  11.  
  12. function p(IDpadre, texto)
  13. {
  14.   if (texto === undefined)
  15.       texto = "";
  16. añadirEtiqueta("<p>" + texto, IDpadre);
  17. }
  18.  
  19. function finp(IDpadre, texto)
  20. {
  21.  if (texto === undefined)
  22.       texto = "";
  23. añadirEtiqueta(texto + "</p>", IDpadre);
  24. }
  25.  
  26.  
  27. function crearElemento(etiqueta, IDpadre, tipo, valor, id, nombre, fuente, clase, pista, enClick, dentro)
  28. {
  29.  
  30. if(!etiqueta)
  31. throw new SyntaxError("El parámetro etiqueta está sin definir.");
  32.  
  33. if(!IDpadre)
  34. throw new SyntaxError("El parámetro padre está sin definir.");
  35.  
  36. var elemento = document.createElement(etiqueta); elemento.type = tipo;
  37. elemento.value = valor;
  38. elemento.id = id;
  39. elemento.name = nombre;
  40. elemento.src = fuente;
  41. elemento.class = clase;
  42. elemento.placeholder = pista;
  43. elemento.onclick = enClick;
  44. elemento.innerHTML = dentro;
  45.  
  46. document.getElementById(IDpadre).appendChild(elemento);
  47. }
  48. /* 1etiqueta, 2IDpadre, 3tipo, 4valor, 5id, 6nombre, 7fuente, 8clase, 9pista, 10enClick, 11dentro */
  49.  
  50. var i = 1;
  51. var d1 = "inputs";
  52.  
  53. p(d1, "DOMINIOS: ");
  54. crearElemento("input", d1, "text", "", "", "Dominio"+i, "", "", "https://example.com/" , "", "");
  55. finp(d1);
  56.  
  57. </script>
  58.  
  59. </body>
  60. </html>


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: AlbertoBSD en 29 Diciembre 2019, 17:53 pm
Me pasaba lo mismo, tienes que encontrar la forma de generar todo tu HTML en un string en memoria y solo cuando este completo colgarlo del parent Element.

Saludos


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: @XSStringManolo en 29 Diciembre 2019, 18:19 pm
Me pasaba lo mismo, tienes que encontrar la forma de generar todo tu HTML en un string en memoria y solo cuando este completo colgarlo del parent Element.

Saludos
Buena idea gracias!!


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: AlbertoBSD en 29 Diciembre 2019, 19:06 pm
Buena idea gracias!!

Ahora el por que se cierran solas, es cosa del tipo del documento y del navegador, los navegadores hacen cosas muy raras como ocultar código PHP, algunas de ellas se pueden aprovechar vulnerar cosas que normalmente no serian  vulnerables.

Saludos!


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: @XSStringManolo en 29 Diciembre 2019, 19:34 pm
Ahora el por que se cierran solas, es cosa del tipo del documento y del navegador, los navegadores hacen cosas muy raras como ocultar código PHP, algunas de ellas se pueden aprovechar vulnerar cosas que normalmente no serian  vulnerables.

Saludos!
Ocultar código PHP? LOL Me paso una vez de que tuve errores las codificación de mi editor, se interpreto todo menos el PHP y se veia en texto plano en el navegador.

No deberían ocultar el PHP en cliente '--. El generador de XSS que tengo en github no funcionaría porque pongo código PHP en un div editable para que lo copies y puedas pegarlo en tu editor de texto.


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: AlbertoBSD en 29 Diciembre 2019, 20:27 pm
Opino lo mismo, no deberia de ocultar el código php que mande el servidor. Por eso siempre hay que mirar el source para ver si no se dejo algo el programador.

Ejemplo, por lo menos en chrome, firefox, Opera no muestra el php que va en la página.

https://albertobsd.dev/hide (https://albertobsd.dev/hide)


El generador de XSS que tengo en github no funcionaría porque pongo código PHP en un div editable para que lo copies y puedas pegarlo en tu editor de texto.

Creo que tendrias que mandarlo mediante htmlentities y al ponerlo en el div, se mostrará como debe de ser.

Saludos!


Título: Re: Por qué se autocompletan las etiquetas <p> ?
Publicado por: @XSStringManolo en 29 Diciembre 2019, 22:02 pm
Opino lo mismo, no deberia de ocultar el código php que mande el servidor. Por eso siempre hay que mirar el source para ver si no se dejo algo el programador.

Ejemplo, por lo menos en chrome, firefox, Opera no muestra el php que va en la página.

https://albertobsd.dev/hide (https://albertobsd.dev/hide)


Creo que tendrias que mandarlo mediante htmlentities y al ponerlo en el div, se mostrará como debe de ser.

Saludos!
Al procesar el navegador añade comentarios al PHP. Wtf. Tiene que ser algo de tu configuración. Nunca antes vi esto y ando todos los días con PHP y JS.
(https://i.imgur.com/IEgkbC9.png)(https://i.imgur.com/FIWa7zo.png)(https://i.imgur.com/5gvTCU6.png)

En el momento no pensé lo de las entities o append a un text node.