Ir al contenido principal

Entradas

Mostrando entradas de 2021

Vulnerabilidad de la librería log4j

Log4j es una librería Java que ayuda a escribir mensajes informativos (o de error) en nuestras aplicaciones en tiempo de ejecución. Para poder usarla es necesario hacer algunas configuraciones en archivos de propiedades(*.properties) y XML. En estos días se ha vuelto muy famosa gracias a las vulnerabilidades encontradas y que ha puesto en jaque a los administradores y a nosotros los desarrolladores. ¿Cuál es la vulnerabilidad? Mostraremos un hilo de Twitter: La vulnerabilidad #Log4Shell se encontró en una librería (pedazo de código) que se usa para generar bitácoras de aplicaciones y servicios en Internet. Es software libre, por lo que muchos programadores, incluyendo de aplicaciones y sistemas propietarios lo usan. pic.twitter.com/A9sIP3d1gE — Andrés Velázquez (@cibercrimen) December 11, 2021 Todo lo que necesitas saber de #Log4Shell CVE-2021-44228: - Versiones vulnerables de #Log4j : todas < 2.15 - PoC y exploits - Impacto y afectados - Detección, IPs, IOCs, Has

Lenguajes que deberías conocer (2da parte)

En el anterior post sobre lenguajes que deberías conocer se habló sobre lenguajes como Concurnas, Lua, Haxe, etc. Muchas veces, sobre todo para programadores novatos, encontrar un lenguaje favorito no es cosa sencilla de hacer. Existen miles de lenguajes de programación que prometen ser el ideal. En esta ocasión vamos a ver algunos ejemplos escritos en esos lenguajes. Lua operaciones.lua print( "Suma de 3 + 5 =" ,( 3 + 5 )) print( "Resta de 23 - 20 =" ,( 23 - 20 )) booleanas = true print( "Booleano:" ,booleanas) booleanas = true and true print( "Booleano true and true:" ,booleanas) booleanas = true or true print( "Booleano true or true:" ,booleanas) booleanas = false or true print( "Booleano false or true:" ,booleanas) booleanas = true or false print( "Booleano true or false:" ,booleanas) booleanas = true and false print( "Booleano true and false:" ,booleanas

Rust: un vistazo más

  En este post continuaremos con lo visto en el post anterior . Como hemos visto, éste lenguaje es parecido a lenguajes como Python o sin exagerar a Golang. Crear un hola mundo no implica saber matemática avanzada. holamundo.rs fn main(){ println ! ( "Alquimista de código" ); } Las estructuras de control son las que se usan normalmente en cualquier lenguaje: 1. Secuenciales. 2. Condicionales. 3. Iterativas. estructuras.rs fn main(){ println ! ( " \t Programando en Rust" ); if 45 > 33 && 56 == 66 { println ! ( "A" ); } else if ! false || 7 > 4 { println ! ( "B" ); } else { println ! ( "C" ); } let entrada = match codigo{ "A" => {println ! ( "Aqui no" ); "Aqui no" }, "B" => "Aqui tampoco" , "C" => "Aqui menos" , _ => "La en

React JS en un vistazo

  React JS es una librería desarrollada por Facebook para aplicaciones web reactivas. Existen dos formas para desarrollar con React JS:     1. Incluyendo un archivo *.js en tus páginas HTML o     2. Desde la terminal con la aplicación create-react-app (de manera a similar a Angular Cli y/o Vue JS Cli). Para eso requieres tener Node JS (y por ende, NPM). index.html <!DOCTYPE html> <html> <head> <title> Aprendiendo React JS </title> <script crossorigin src= "https://unpkg.com/react@17/umd/react.development.js" ></script> <script crossorigin src= "https://unpkg.com/react-dom@17/umd/react-dom.development.js" ></script> <script src= "https://unpkg.com/babel-standalone@6.15.0/babel.min.js" ></script> <script> function inicio(){ alert( "Iniciando con React JS" ); console.log( &

Go: un lenguaje moderno

Golang es un lenguaje relativamente moderno que pretende ser una mejor alternativa a lenguajes como C/C++, Python, C# y Java (entre otros más como Erlang y/o Elixir). Ofrece al desarrollador la capacidad de crear "cosas complejas" de manera más fácil, por ejemplo crear aplicaciones web sin tener que descargar un IDE, un servidor web, configurar miles de archivos XML (ojo ahí Java). servidor.go package main import ( "io" "net/http" ) func main () { http . HandleFunc ( "/" , saludo ) http . ListenAndServe ( ":8000" , nil ) } func saludo ( w http . ResponseWriter , peticion * http . Request ) { io . WriteString ( w , "Hola, mundo desde Golang!!" ) } Ejecutando: $ go run servidor Abrimos el navegador en http://localhost:8000/ Si esto lo hubiesemos hecho en Java y/o C# nos hubiese llevado más tiempo, es la verdad. Golang deja a más de uno sorprendido. Links: https://github.com