Desarrollando un #timeline responsivo, solo con #HTML y #CSS

Cuando empiezas a maquetar tus primeras webs, tu objetivo principal es que la maqueta resultante sea lo más fiel posible al diseño que te han entregado. Es un trabajo difícil, pero muy satisfactorio, ver que has sido capaz de respetar todo lo que te han definido desde diseño.

Según va creciendo tu experiencia, esta fidelidad empieza a darse por supuesta, y el auténtico reto del maquetador es conseguir que el código que has usado para realizarla sea semántico,adecuado y sobre todo (al menos en mi caso) el mínimo posible. Conseguir “adelgazar” al máximo la cantidad de código HTML se ha convertido con los años en una auténtica obsesión, aunque creo que es una de las actividades más saludables que puede tener cualquier maquetador que se precie.

Read More

Detectando cambios anónimos en nuestro sitio Web

Uno de los problemas de seguridad más comunes es la modificación de un website por parte de un atacante. Tanto en su versión ‘deface’ como en otras vertientes mucho peores.
Hoy día es muy común sufrir un ataque a un CMS como Joomla o WordPress y que la web termine sirviendo para distribuir malware mediante la inyección de alguna suerte de código en HTML/Javascript.
Hace unos días leí en NIXCRAFT un interesante artículo donde reseñaban la herramienta incron. Una herramienta que, aprovechando Inotify(), permite detectar en tiempo real cuando se modifica un fichero o directorio y lanzar un comando.

Read More

Regreso + Búsqueda pasiva de XSS mediante Python !

Así es , vuelvo a los ruedos por aquí de mi querido blog. Las vacaciones se demoraron unos 17 días, asi que estoy plenamente desactualizado, ya que me ocupe de recuperar todas las energías gastadas durante el año.

Y, que mejor que volver con algo de Python, ¿ no ?  Ésta vez de la mano de StateX les traigo una forma de realizar un parseo de vulnerabilidades XSS utilizando como referencia el sitio XSSposed.

Read More

15 librerías de Python que debés conocer

Python es un lenguaje de programación de alto nivel que podemos usar para realizar todo tipo de tareas en múltiples plataformas. Su filosofía hace énfasis en que el código que escribamos sea lo más legible posible y su sintaxis permite expresar nuestra idea en menos líneas de código que otros lenguajes como Java o C++. Es un lenguaje que está diseñado para ser ejecutado mediante un intérprete, en contraste con otros lenguajes compilados. Es multiparadigma, ya que soporta orientación a objetos, programación imperativa y programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.

Read More