Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - fermino

#1
Buenas, alguien sabe de alguna forma para deshabilitar la verificación HSTS en Mozilla Firefox, a lo sumo para un dominio en específico?
Estuve googleando, pero no logré hacer nada :/

Saludos!
-fermino-
#2
Continuando con la primera entrada sobre el tema, No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, en esta veremos la clase principal de la librería, sus métodos y sus propiedades...

Nota: En la entrada anterior olvidé aclarar que estas librerías sólo funcionarán con la versión de Arduino 1.x o posterior. Para utilizarla con versiones anteriores, hay que hacer un par de modificaciones que posiblemente comente luego.

Aquí tenemos que crear tres métodos, el constructor, Encender, y Apagar.
En lugar de crear una clase contenida por la palabra class, vamos a definir cada método por separado.

La estructura de cada método sería algo así.

Código: cpp
<Clase>::<Método>(<Parámetros>)
{
    <Código>
}


Por ejemplo:

Código: cpp
Led::Led(int P)

o
Código: cpp
Led::Encender() 



Ahora sí, el código completo:

Código: cpp
// Librería de control de Led para Arduino 1.x
    #include "Led.h"

    Led::Led(int P)
    {

    }

    void Led::Encender()
    {

    }

    void Led::Apagar()
    {

    }


La primera línea es tan solo un comentario. Especificamos la versión de la IDE para la cual la librería está hecha, y podemos también agregar nuestro nombre, sitio web, etc...
En la siguiente, incluimos la cabecera que contiene las definiciones de la clase (ver No tienes permitido ver enlaces. Registrate o Entra a tu cuenta).

Luego, definimos el constructor, con el parámetro entero P, el método Encender (del tipo void, sin retornar ningún dato), y Apagar.

Pero esperen, esos métodos no tienen ningún código dentro, ¡no hacen nada! D:

Código: cpp
// Librería de control de Led para Arduino 1.x
    #include "Led.h"

    Led::Led(int P)
    {
        Pin = P;
    }

    void Led::Encender()
    {
        digitalWrite(Pin, HIGH);
    }

    void Led::Apagar()
    {
        digitalWrite(Pin, LOW);
    }


Ahí agregamos el código. En el constructor, hacemos que la propiedad Pin (privada, de la clase), sea igual al parámetro P. Todo esto supongo que deberían saber hacerlo, ¿no? :P
En el método Encender, hacemos que la salida digital correspondiente a Pin (Si inicializamos la clase con el número 3, actuaremos sobre dicha salida) sea alta. En Apagar, haremos que la salida sea baja.

Eso es todo por hoy, la próxima vez veremos cómo generar palabras clave que la IDE pueda detectar y marcar con colores xD

Saludos!
-fermino-

Fuente (mi blog :P): No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#3
¿Qué es una librería? No, no es ese lugar en donde se venden libros, nos referimos a otra cosa. Una librería o biblioteca, en cuanto a informática se refiere, es un conjunto de implementaciones (según wikipedia; a decir verdad, no termino de encontrar las palabras para explicarlo por mi mismo), que están hechas para ser usadas por otros. Las librerías están hechas para ser usadas por otros programas, no son autónomas.

Por ejemplo, yo puedo crear una librería para controlar determinado sensor (Si hablamos específicamente del Arduino), o una para, por ejemplo, consultar el clima, etc...
Eso sí, debe haber un programa, que interaccione con la librería y muestre los datos.

En este pequeño tutorial, aprenderemos a crearlas y utilizarlas...

Ahora bien, las bases de una librería orientada a objetos en Arduino (y en C++ inclusive), son tres.

  • Cabecera (header)
  • Código (la clase en sí)
  • Keywords (palabras clave)
(Si no tienes ni idea sobre qué es el paradigma de orientación a objetos, se podría resumir en ésto: Uno tiene objetos, que simulan el mundo real, por ejemplo. Los objetos tienen métodos y propiedades. Imagina un objeto Coche, un método (función), sería por ejemplo conducir, y una propiedad (variable), podría ser la patente. Además, un objeto puede heredar todo eso de otro. Puedo crear una variante específica del objeto Coche, para adaptarlo a lo necesario. Una Clase, es el modelo de un objeto, su definición. Una instancia, es el modelo ya funcional, con el que puedo interactuar. Si no te quedó claro, puedes googlearlo :P)

La cabecera, es el archivo que se encarga de definir la estructura de la clase. Le dice al compilador qué métodos y propiedades tiene, etc...
El código, la clase en sí misma, es eso, métodos, propiedades, etc...
Recuerda: la definición en la cabecera debe ser exactamente igual a la estructura de la clase, sino el compilador lanzará error.

Keywords, las palabras clave que le dicen a la IDE, qué resaltar con color (So cute, eh? ^^)

En esta entrada nos vamos a centrar en la cabecera.

Creamos una carpeta para nuestra librería, y añadimos un archivo con el mismo nombre, con extensión .h. Si nuestra librería se llama chat, tenemos que crear chat.h.

Comencemos entonces, ésta, es la estructura básica de una cabecera:

Código: cpp
#ifndef LED_H
#define LED_H
#include <Arduino.h>

class Led
{
private:
int Pin;
public:
Led(int P);

void Encender();
void Apagar();
};

#endif


Las dos primeras líneas son llamadas cláusula de inclusión, evitan que incluyamos la misma cabecera dos veces. En PHP sería require_once en lugar de simplemente require.
Dicen, si no está definida la cabecera LED_H, ejecutar todo el código hasta #endif.
La segunda línea, se encarga de definir la constante LED_H, la cual indica que la cabecera ya se ha incluido. 
La tercera, incluye todo eso que nosotros usamos normalmente, las funciones, No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, No tienes permitido ver enlaces. Registrate o Entra a tu cuenta. Sí, por si no lo notaste, todo eso también está contenido en una librería :P

En la quinta línea se define la clase Led.
En la séptima, definimos propiedades y métodos privados.
¿Qué significa esto? Si algo se define como privado, solo será accesible desde la misma clase, si es público, el programa podrá también acceder a ésta.
La propiedad Pin, es decir, el pin en donde está conectado el led, será privado, puesto que, ¿es necesario que el programa lo sepa, siendo el mismo programa quien lo define?...

:O ¿Cómo lo hace? Acá entran en juego los constructores...

Dentro de public, tenemos el método Led, con un parámetro llamado P, de tipo int (No tienes permitido ver enlaces. Registrate o Entra a tu cuenta).
¿Notaron que aquel método tiene el mismo nombre que la clase? Ahap, eso es un constructor. Cuando nosotros instanciamos la clase, si hay un constructor presente, debemos pasarle los parámetros correspondientes, en este caso, el número de pin (el parámetro P). En el constructor, nosotros podemos tomar aquel número, y ponerlo en una propiedad de la clase, para usar esos datos luego, por ejemplo, en Pin.

Luego, tenemos el método Encender, que como pueden ver, no lleva parámetros. ¿Por qué? Si podríamos pasarle el número de pin... No, ese método actúa sobre el objeto Led, es decir, vamos a utilizar la propiedad Pin, para saber qué encender. Pero... ¿Qué es ese void ahí? Es el tipo de dato. Una función puede retornar (o no), algún dato. Una función que sume dos números, debe devolver un dato entero (int), por ejemplo. Si no queremos retornar ningún dato, será void.
El método Encender, no debería devolvernos nada, ¿no?.

Lo mismo para el método Apagar.

En las líneas siguientes se cierra la clase, y en la última, se cierra la cláusula de inclusión. ¿Recuerdan eso de "ejecutar todo el código hasta #endif."? Bueno, a eso se refiere.

Si LED_H no está definido, definirlo y crear la clase.

Eso es todo! Esa es la estructura básica de la header de una clase. En la próxima entrada veremos la clase como tal...

Saludos!
-fermino-

Fuente (mi blog :P): No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#4
Cuando estaba comenzando todo el mundo web (de programación hablando), por ahí leí que existían unas tales spiders, crawlers, que buscaban por todos lados intentando encontrar direcciones de email a las cuales spammear, leí que como protección, recomendaban no añadir la dirección a nuestra web con el clásico mailto, sino ponerlo en una imagen, etc...

Bastante tiempo después, leí por ahí un comentario sobre cómo Github hacía esto. No, no los ponía en plano, no era javascript, no amenazaba a las arañas con un bate ni nada por el estilo. Las direcciones, las ofuscaba...

Me puse a ver qué onda con esto, cómo era. En mi firefox cuando pasaba el mouse por ahí arriba la dirección se veía común y corriente, "mailto:fermino...", Inspeccionar elemento?
Nada, se veía exactamente igual:

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No creí que todo eso fuera dinámico, y efectivamente, con un View source, bastaba.
CTRL + F, "mailto", y...

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

"Comienza con 'x', tiene dos dígitos después, por ahí hay una 'd', una 'e', una 'f'... Seh, tiene que ser hexadecimal, ¿no?".
Como, tengo que admitir, nunca había usado esa forma de insertar caracteres (en hexa, con &#x--;), me puse a googlear sobre el tema. Una buena tabla No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, y listo.

Bien, mas o menos entiendo como es ésto, ahora; ¿qué escribo?.
Ahí aprendí la utilidad de las funciones No tienes permitido ver enlaces. Registrate o Entra a tu cuenta y No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, de PHP.
Ord, devuelve el número ASCII del caracter dado; chr, el caracter correspondiente al número ASCII.

"Oka, puedo usar chr sobre cada caracter de la string para obtener el número... Pero, ¿cómo saco el hexa?"
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta, le tiramos un número entero (sistema decimal), y nos devuelve la cadena correspondiente, en hexa (base 16). Sí, luego descubriría que se puede hacer "&#<numero entero, no hexa>;", y es lo mismo; pero bah, ¿no queríamos copiar a Github?

Ahora sí, "Paso sobre cada caracter chr, eso lo paso por dechex, y listo, lo añado a una cadena con el código final, ¡buenísimo! :D"...

Y algo así resultó:

Código: php
<?php
    function ObfuscateEmail($Email)
    {
        $Code = 'mailto:';

        $Length = strlen($Email);

        for($i = 0; $i < $Length; $i++)
        {
            $Char = dechex(ord($Email[$i]));
            $Code .= "&#x{$Char};";
        }

        return $Code;
    }

    echo ObfuscateEmail('[email protected]');


No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Tal vez alguno de estos días lo agarre y le añada alguna que otra cosa, la posibilidad de usar o no hexa, un script que busque en la página direcciones y las ofusque (Tal vez usando ob_ para agarrar todo antes de ser mostrado, parsearlo y hacer lo que sea necesario. Y sí, nótese que pongo todo esto acá para que no se me olvide después :P), pero bueno; espero que si llegaste acá por google, te haya servido! Y sino, también :v

Regards!
-fermino-

Fuente (mi blog :P): No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#5
Off Topic / ¿Quieres ganar un VPS? Participa!
Febrero 12, 2015, 10:44:53 PM

Hola a toda la comunidad!
Como agradecimiento a todos los usuarios por apoyar a Underc0de, haremos este sorteo en el cual TODOS pueden participar!

El premio será un VPS pago por un mes.
Características:
- Almacenamiento: 25GB.
- Transferencia: 1TB.
- RAM: 1GB.
- OS: Arch/CentOS/Debian/Fedora/Gentoo/Ubuntu.

Cada usuario deberá anotarse, respondiendo en este post con su nick y un número del 00 al 99.

Tienen tiempo de anotarse hasta el día Viernes 20 de Febrero a las 20hs GMT-3. El número ganador será quien aparezca en la Quiniela Nacional Argentina (nocturna) ese mismo día.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Si hay empate (Si varios usuarios eligen el mismo número o están con la misma proximidad), el VPS se sorteará entre ellos al día siguiente.

Suerte para todos!

Participantes anotados:

DeBobiPro 77
Rr_bUg32 32
StOrMd[4]rk  68
Jimeno 37
Blackdrake 26
Gn0m3 36
KAPO 41
King of the Trojan  49
NyxKazuya 73
facufangio 15
Snifer 69
[Q]3rV[0] 83
arthusu 14
RisingMage 65
elrodrix 21
kity54 34
alexander1712 17
Blendd 26
ANTRAX 42
d1d4c 33
windux 60
Passmaker 17
gabrielcz6 55
DaRK UnLiMiTeD 20
dehombreadios 74

Muchas gracias por colaborar con Underc0de y  ayudar a que la comunidad siga creciendo!

En caso de que el ganador no reclame el premio en un periodo de 3 dias, el VPS se volvera a sortear.
Recuerda que sólo es válida una inscripción por persona.
#6
Wargames y retos / Sitios Safe To Hack
Octubre 07, 2014, 07:38:47 PM
He aquí una lista de sitios para probar nuestras habilidades como hackers ;)

Citar[Safe to hack sites]

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – A series of challenges that get harder and harder.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – in German, but google translate makes it acceptable.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – A Demo Banking Site to test 'Watchfire' products.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – NMAP scanning site.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – A series of challenges that get harder and harder.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta – A series of challenges

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Fuente: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
#7
Continuando con el tema de los arrays, les dejo otro reto...



CitarTenemos un array con una serie de nombres (Cantidad no determinada); el programa, debe tomar todos esos valores y ordenarlos alfabéticamente de forma ascendente, para luego mostrarlos en pantalla.


Array a testear:

array('Alejandro', 'Alejo', 'Margarita', 'Pedro', 'Pablo', 'Julio', 'Alex' [, ...]);

Reglas:


  • NO utilizar las funciones prefabricadas del lenguaje (Específicas para el objetivo, como en Python, sort()).
  • Enviarme la solución por mensaje privado.


Ganadores:


  • 8-Matrix-8
  • hdbreaker (Pequeño problema a solucionar)
  • arthusu
  • Once
  • HomeGuard

Saludos!
-FerminO-
#8
¡Bienvenidos!

Estos son otros retos que iré posteando... No tienen mucha ciencia; constan de una consigna (por ahora sencilla), y uno debe escribir un programa que la realize, luego, no olviden enviarme un mensaje privado con el código...



CitarTenemos un array con n números; el programa, debe tomar todos esos números y ordenarlos de forma ascendente, para luego mostrarlos en pantalla.


Ganadores:


  • Expermicid
  • Oggy
  • 8-Matrix-8
  • Once

Saludos!
-FerminO-
#9
Wargames y retos / Find the bug #2 [PHP]
Septiembre 29, 2014, 11:09:28 PM
Éste es un error que cometen muchos que vienen de lenguajes como C#, por ejemplo.

Deben encontrar el error y enviarme un MP con la solución. Si no necesitan ejecutar el código para encontrar el error, ¡aún mejor!.



Código: php
<?php
static class TextUtils
{
public static function AgregarNuevaLinea($Texto)
{
return $Texto . "\r\n";
}
}

echo TextUtils::AgregarNuevaLinea('Mi texto :)');
?>



Ganadores:


  • kid_goth
  • blackdrake
  • Jimeno
#10
Wargames y retos / Find the bug #1 [PHP]
Septiembre 28, 2014, 10:55:12 PM
El reto consiste en encontrar el error de éste código PHP. Por ahora, es bastante básico...

Si quieres ejecuta el código, pero mucho mejor si lo encuentras sin hacerlo ;)

EDITO: Olvidé aclarar que me debían enviar un MP con la solución...



Código: php
<?php
        $Json = '{"saludo":"Holi :3"}';
       
        $Data = json_decode($Json);
       
        echo $Data['saludo'];
?>



Ganadores:


  • variux
  • Oggy
  • arthusu
  • ANTRAX
  • BlackBlex
#11
Un pequeño proyecto que olvidé postear.
En sí, lo que el script hace, es testear si determinado sitio está online. Si no lo está, envia una notificación por whatsapp a los números definidos. Cuando el sitio vuelve a estar online, también lo notifica.


Guía de configuración:

Código: php
		$URL = 'http://github.com/ferminolaiz/url_that_not_exists'; // La URL a checkear
$Numbers = Array(''); // Un array de los números a donde enviar las notificaciones
$OKPrint = false; // Falso si se corre el script en una cron job. Esto evitará la sobrecarga del log de las crons, al evitar mostrar mensajes innecesarios

$WP_Username = ''; // El número de whatsapp
$WP_Password = ''; // La contraseña de whatsapp (Usar WART para generar)
$WP_Identity = ''; // El ID de whatsapp (Usar WART para generar)
$WP_Nickname = "Underc0de's bot"; // El nombre del bot


Descarga: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Aceptada cualquier contribución, idea, corrección, o lo que sea! xD
#12
Suponiendo que tengo una función que devolver "sí", si una variable es bool, y "no", si es cualquier otra cosa.
(Se que esto no es algo aplicable a un caso real, pero es un ejemplo xD)

Código: php
function EsBool($Var)
{
    if(is_bool($Var))
    {
        return true;
    }
    else return false;
}


Código: php
function EsBool($Var)
{
    if(is_bool($Var))
    {
        return true;
    }
    return false;
}


¿Qué es más eficiente? ¿Hacer el else, o simplemente devolver false? (Si se cumple el if, se retornará un valor, por ende, se detendrá la ejecución del código y el "return false;" no se va a ejecutar)...
#13
Hacking / Soundcloud Downloader
Septiembre 11, 2014, 02:27:07 PM
Hola gente!

Luego de unos buenos ratos intentando entender cómo funciona Souncloud (El streamer y el reproductor); logré encontrar la API interna, que llamadas hace y eso, y luego de un rato màs, logré hacer un downloader...



Link: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

¡Comenten si encuentran algún error! ;D
#14
He aquí un pequeño loop en lmgtfy: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta xD ;)
#15
Sé que el título suena ambicioso (Y lo hice en parte para llamar la atención ^^), pero como últimamente estoy con bastante tiempo libre, si alguien quiere algún script en PHP, que me lo comente y veo si puedo lograr algo :D
#16
Tengo un proyeco en mente, en el cual necesito enviar comandos AT al celular, desde un arduino.
Esto lo puedo hacer usando un puerto serie, la cosa es que no sé cómo conectar este teléfono; es decir, a que lugar tengo que conectar físicamente los pines RX y TX.
Sé que se puede, ya que en la PC, con cualquier programa que me permita comunicarme por un puerto COM, cuando lo conecto y selecciono en el teléfono "Puerto COM", puedo enviar estos comandos.
Desde ya, gracias :)
#17
La idea de este proyecto es crear un gestor web, sencillo para el usuario.
Características posibles:

  • Editor WYSIWYG
  • PrettyURLs
  • Multiusuario
  • Permisos
  • Gestor de imágenes/archivos
  • Menu/Dropdown con las páginas actuales
  • Etc...

Hay dos formas de hacerlo, una, que el gestor guarde directamente los archivos al disco, o sino, que los guarde en una BD.
Otra cosa; puede ser una header estática, variable, etc...

Dentro de todo, parte de esto lo logré, pero de forma rudimentaria y relativamente sólo como un test. Ahora quiero hacerlo mejor :D

Principalmente necesito a alguien que le guste diseñar (Soy malísimo con CSS), y alguien también, a quien le interese el tema PHP-MySQL, para intercambiar ideas, blablabla, en fin; concretar el proyecto :P

Cualquier cosa, MP, o me buscan en el IRC (últimamente me estoy conectando menos).
#18
Imaginen que tengo una string de contenido "1/2/3"
Lo que necesito, cosa que no logro encontrar en google, es algún codigo en c# que me permita obtener "1/2".
Es decir:
Obtener la posición de la última /, o el caracter que sea.
Truncar la cadena hasta ese lugar (1 posición menos, para que la / no quede en la cadena).
#19
El objetivo de este wargame es crear un chat, no es necesario que tenga muchas funciones, algo simple, que permita intercambiar texto plano entre dos personas, que estén en una misma LAN

Se puede realizar en cualquier lenguaje.
#20
Off Topic / ¿De donde proviene tu nick?
Diciembre 01, 2013, 10:48:38 PM
Desde hace un tiempo me vengo preguntando de donde provienen, o de donde eligen sus nicknames.
El mío viene de
fermin => Mi nombre.
o ==> Inicial de mi apellido.

¿Y el tuyo?
#21
Off Topic / WTF épico... Youtube
Noviembre 18, 2013, 07:40:13 PM
Hey!
Vieron youtube? Da error 500!!!
La curiosidad me carcome por dentro...

Me dio esto:

Citar500 Internal Server Error

Sorry, something went wrong.

A team of highly trained monkeys has been dispatched to deal with this situation.
If you see them, show them this information:

196udByfNKB8oidSRyVW6GmROanotjlFGrB8FJLbZooZaL8p25ehDdslKVzY
oli6J15R3Vv1N00mjxEq4GahXYpQTy0MWMFkdBOsCdznEgfWhfQyKrxVfzSO
zHXd9K0URENvIgJ9jXXqtZGyQmn6LxC6_kLlT1r0XgqOfrqdlBhroHQ-NJma
X4shodWrBX1cWa0Atblov_7YGGbuzZldvq5LbA_FU6rAy5wxyZYd6NlATnJW
3whki2gp_g2uM6ZkKQZYdgRRc6a21MFWHm9AUMYQqY7Q63YdIIMcbeKc8SZg
eAQGhAoGZmWkMUhlNZAHYbLeyVDXiofLtujv5pHK3T2-wF_BQcm_XOwEZhLj
vp_RrcF1wmmIGhMseceftK7SqEUrIqkBtaEOELfvtv5c-FL7geMjyNudZHej
dk2Lq5fUpz9yJ2nPdEB2UOMjGFe5-iauyVniV-zN6p0rah_zCFsKWiMZEKev
NGZ5v81ipcCOnsjVcUhL4Yz7XQ8bFrf4sb-QYz5QY3hlovI9AJt1UI0TqsEy
XEfe1lWszGSuLk2yM9sTPwGa0ro6wv74M2xSbk9uhRiolGiQjIGPc5nU-Ngb
Gsq3ORYDeKJRC_RJxazoarrCGS4iU7hAJmgaraRjyq44X9yZ4nfVmlYE8olT
hepZf6HAt9AlXPwJ-UcvTKUoZOAkw-sDnmFxzs0c5TZyHleSQhzok_34lhXk
LYEbDoOeLWIy1koVuML4nKk8AOFIpHjiP9nmkfakbFgE6B9O97OQjByVEKBJ
m28j84qfIJlHYvg4NRdpscmVsHeku9QAa8dY6kAc0ICCP_weX0L-difjtiYs
lrkIrNeXQ36YdrTLxFyi0E3oWrtAvlOlM-oQdoQEPSS0zlVrD41G5myXF9WR
OPQz-rH3KYT3KkKgR2Leq9-Cx5KNsSfOsJUMd6sQS44EOEcdGFtQvqc01cAt
hdaOom1Y1zBANoTIRXIhfoHkKPYI7bkxxDZftXuhZboIZBOhSZBYXqnJehnj
tnxLyd1cdeDOIVSuf73QpOlq2-rAjwhPdRLuuLGax8lmnyRAmYZsM0gXX3Wy
76hr-JNGCJHkZ5uqArpEDZwCFZcFkWsId6LJCqDnlCN1obz9R8oLB4d6dEkD
DYxzgIn1AaOr2N9mjLLvcC2Gv5siBwRLCViSemRDmefWkISfjL7nQqKfocU3
d_CwX7np4CzszoYETjI43oLTRGprZslB206fW2FdjmAo8Omu1rQ-lY9mF4kP
a89BncCiJfFNHmNLheO1N6GtD7tmI72m5wG_kGOsPAksBNedFW_4HwRB6NsN
db0VMBOi8wFtLhHqP6eKg7djFovvvJ7k4C3ZH976neODCndTkVK2uP8p7UhE
yhzw9fSaBj5o5zLTkWW8nMSFVl0h2ZAriQNEpScOpxF2m96HGZVCfN3Ke0RR
6CVqMI_0F7iXX9m6lN4dn4M1xD87mFPJ390kfL1e1bHMgUkPXdbSLEZwjWQ4
lV7A2pXAdVKLWfZKcr-Nh0OfZpev322yidTN_PcdIW8q03JDowwwr6x_yrT6
v4A5gi01Dy9N5GSogHq8kWE89fuJi_k-iGCVlVoUxM55Zqhx7zSYfs9ndy5g
tYoOk_jrZYJZKtgn8ieKaPgU68GaqoYnUn-S8PUz513BybQshJ7h-bmMFSpJ
qhbxO3qxTXFbalSMR_XBY2kO4WtRMRkn9ZT5sFDRDNzYKzApH4cBbxR-8sw1
W0WQNQ2HfnePLgtU4TV1o3IyMr_DKB3FSvQT03d_vrC5M3PH4S0tAgNWUJHO
B-aqB4lsjrZ-u248UGCA2oORPWV4bwyOMiRlsd7eFjlZly3yHtvkcjRGPxFN
0NxXy2iHH2GNlGS16fV6aJumB244NZ1D7chepR79F17qNKmsybaSjAFfaGdL
1bqsJ_tNtiMnc6VfmbrR7azDgUIICIrpgJ2Njfq6q8tnyRqTWza1CtRnunxx
SPn_D-S3juyiDHD1Q0_AvTXFZBXsJnBMHHhMvL5WCgjrJRM6C88eJQa3myc-
GBFIFz_A_mCniaejEpIK6pyr3ZqwUjjUXVBgqYx_pQNN2Cq5s9AC8in4JHUK
2g7tyOp46x7n3nTKLn9WMEynUHX3Ofa_y5G5gWqtXiG-f7porsataHoPwqJx
5fpT33LDVTqInhOcP5GmRnnife-35tAlx--Q4L9P5VmlRyYOtF6eVvML1LW9
9cBCMjC-gd4C0o9zMiDTuGWTEwORceOR-5Tgixsoz_eq6kjNtkYIaVEbghUN
T853TLjjQFlLNDja7u-wD-jndvA826rM_ldi31Vz21Cwcu9rO0gnApFqrsOx
mmoNh9EJgpds8f5vhbrjdt-Wunoa97BvteJcex_aET2VDAOgUO7vft6EsSwZ
x72WwhaIdND-Cwv9MSprGbYckzBxfTmPpwWtsPvUOhVJzsSKnk_Ba-PWnTdJ
dSBckLVoSstPOKd-uyLuNmwukihM1ot2eH8KmtXnLXctrQvCT13HaL0AFhfD
uvI8mKDkGz62FRkdFSYLvF-Z_-hcf69gUWwFirgFtqcwZuk060WnzOCF3EjS
U37s6uQn1w4MMefzi19XQoAaCKqwiJli-kTptOkAtRDrzGX3hUA6cBC_-x5z
wAoY_e3R_6kixeidIm1OXrEr_5s_elCL2ARgj6duW65N_ggbmytI6348jeTz
M908XBR6De4RKCxM6HcKlNRGMWcM_Lylh3GjNJHaBfFKvx73wf56s7yR7CAn
X6dQ_JCWTYg86jsnM8GkGHB-YZMXYfLPfeo9hKUs6jzGFHitG0Nyuuh06suw
cxZzSDKHhJR26ErN5_LRYbLMHnViK7zeY9ihf6LDobM5lssmCQ-JhNwHIFLX
ipbozcJJCEjJ7nUQVqf60iDiBftySNvGT9ls_hIp-3ep2eCWH4TTSLRtfXZ2
rUngkKeo7TXg8DTkT_iF8xud8hgVRF3Bj9Td6S0FX3pUlf4NzWlAaYf5KWaC
Nf8BbFdL4ZR1v5OZIQo7Tl5nlhEEr3ymoMsDGkCY4eTDLG9nv7Asc-s2xSK4
T59ykkX17uT-KvGHsfV7GCfeke2FphRKxGTTeeUtZQqzcue3N3Clr2RH0Aem
rR2tGreYPws_58G6Sc1CaHbS9g8yidY_OOuOGvMwOIXfqIlN_QbcMa7sM9IH
MXMmgkUgvJKsr6DqAq6xNZhjzBV9veU7EtIIim1sZq4PD3ClbZWTay3jQ2GH
naEXkZ7s2IuT7spo43CGo0JwbAP8P2PDU8EwCOzm96lWNe2ffWZE8bhgs1J-
5vj2tquOYccgVDqPmihaEOWSL9MKzr3ONeRo5a3tvCbN3JLp-rQtAO0Ge8KS
-w53Mti9IP0_NBwkliVE8Yzjsv5LrfaIvLaCde8djZqHdiLOksonzKOnoZPp
Di_tCqlIfDDcl99UW0soRUGSEW_qKY17hFRCgpah85Jk1Yt4n7vJlVtgAiiG
S3O_RGcX4NGofbnWZ2r5szOuJm-gg5hu56OrF0pJMNW6lf4OJ8Xg0fHwFpZG
KBjU0jovXOvy6BZfvacnZI8aagyLgg_GSixFmlhL6knN8lUPs_dEDvNcrXK-
PVm1Da8mqx1g4Sw0aSfEqC3tW1NVXPk3_tvpOT4hC1vNW0GuLTIeLSvtGI9p
bD851o2-nLFP7C-jN0sBHds9_kJ0RpfpBtnMmpnboh8dQZISCoh_Qx79Or2Z
tKB6y-6u6kxX3ahLn64U8HwDbmDuAwHh6h0qjMfdpNXTIyQMvKzfn-8YfqED
nkm3r8E9qxjJTlQtkkjtp1yqSUo-Ml3WpwtNhLK3CBUjEnYWpit3wkOptOYw
F50arGtPDrE=

Primero intuí que el código inferior era base64, pero nop...

¿Qué dicen ustedes?
#22
Bueeno... Siguiendo con el tema de mis hermosos wargames xD
Hoy me entretuve haciendo uno sobre cifrado.

Esta vez no tiene tanta complejidad para descubrir la frase a partir de una mezcla de encriptaciones diferentes, sino que requiere más uso de la lógica...

Para ganar, deben conseguir el código (que está en el panel de control, no vale pedirselo a otro usuario :P) y enviarmelo por MP, junto con una explicación de cómo lograron acceder.


Link actualizado!

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


Ganadores:

  • Psymera
  • kyr4-bl4ck
  • rezyckller
  • F0M3T



Si, si se puede. La solución está escondida nomás. Sigan buscando... :P
#23
Otros lenguajes Scripting / [Manual] mIRC Scripting
Octubre 29, 2013, 08:21:07 PM
Hace un tiempo, CrazyKade me comentó sobre algo llamado mIRC Scripting y me interesé.
En síntesis, es un lenguaje de scripting originalmente desarrollado para mIRC, el cual nos permite simplificar muchas tareas en un servidor/canal IRC.

Descarga:
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Podemos hacer cosas básicas, como simplificar nuestro login en un servidor, crear ventanas con cuadros de texto que ejecuten un comando, como /me slaps ;), etc.
#24
Wargames y retos / [RETO] XSS Facil
Octubre 11, 2013, 09:30:32 PM
El segundo wargame que acabo de hacer en el día.

Este consiste en un libro de visitas, en el cual hay que dejar un alert con su nickname. Pero ojo; el textarea del comentario está protegido contra "<" y ">".

Dejenme una captura con el alert de su nick, y los pongo en la lista...


Link actualizado! (Sí, otra vez xD)

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Ganadores:

  • bethome365
  • rezyckller
  • Jimeno
  • blackdrake


Diviertanse!
#25
Estuve viendo el wargame de cifrado de shruken y me gustó, e intenté hacer algo un poco más complejo.
La idea de este wargame es conseguir un código de acceso que está en el panel de control del sitio. Postear una captura, ocultando el codigo, y mandarme un mp mostrando como lo hicieron.

El código de acceso está en el panel de control...

Pista: No hay nada de PHP, ni nada dinámico. Todo es puro HTML y encriptación. Así que no intenten ver como pido la contraseña, porque eso lo hago mediante Apache.


Reto resubido!

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta




Ganadores:

  • Mr. Foster
  • Psymera
  • kyr4-bl4ck
  • Knaya
  • roadd

Diviertanse!




Aclaración!
Cuando encuentre los datos de acceso, con esos se accede a un panel de control. Ahí hay un codigo que es el que me tienen que mandar por MP, además de cómo lo lograron. Perdón por la confusión...
#26
Bienvenidos a este tema, en el cual les explicaré como enviar comandos desde una pc a otra.
Como sabrán los que viven en Argentina, aquí se está llevando a cabo un plan llamado "Conectar Igualdad", que consiste en entregar una netbook para cada alumno y maestro de escuelas secundarias públicas en todo el país.
No son la gran cosa, pero sirven para estudiar e inclusive para algunos juegos.

Uno de estos días se me ocurrió buscar alguna manera de hackear las computadoras, por ejemplo: Hay un programa que permite conectar varios alumnos a un maestro, el cual puede controlar de forma remota las computadoras. Busqué en google sobre el prótocolo que usa para comunicarse, pero como es software privativo, no encontré mucho.

En eso me acordé que en la escuela aprovechamos los recreos para jugar al Counter Strike, Halo CE. Varios juegos. (Quiero aclarar que tengo 13 años, por lo tanto, yo también tengo la netbook del programa). Me dije, porque no programo algo que parezca ser una actualización del algún juego o programa. Lo instalo en las computadoras, y molesto a mis compañeros de curso. xD

Para eso diseñé este programa en Visual Basic 6, el cual permite enviar comandos (símbolo del sistema, cmd) de manera remota en Windows.

Aclaro que modifiqué el instalador para que parezca que es una actualización del "Mocosoft" Office, esto permitiría expandir su uso...



Instrucciones para la pc víctima:
1. Descargar el archivo adjunto y descomprimirlo.
2. Instalar el programa (archivo setup.exe) en la computadora de la víctima. (El instalador pide contraseña: "fermino-underc0de" sin comillas). (Dejar que el programa inicie automáticamente y si pide excepción del firewall, permitir)
3. "Crackear! el programa (lo que hace el crack es modificarel registro para que el programa inicie cuando inicia windows)

Instrucciones para la pc atacante:
1. Iniciar el programa Cliente.exe en tu pc.
2. Introducir el nombre de host de la víctima (tener en cuenta que ambas computadoras deben estar en la misma red LAN)
3. Hacer click en conectar y esperar que el programa informe el estado de la conexión.
4. En el caso de estar conectados. Enviar comandos en el recuadro central y presionar "Enviar"o la tecla aceptar para enviar el comando.

Algunos comandos útiles (todos actúan en la pc víctima):

shutdown -p (apagar equipo)
shutdown -h (hibernar equipo)
msg * mensaje (ventana emergente con el mensaje escrito)
taskkill /IM nombre del proceso (para finalizar un proceso)
del archivo /Q /S (eliminar archivo, hay que introducir la ruta completa del mismo)
start No tienes permitido ver enlaces. Registrate o Entra a tu cuenta (iniciar página web)

Se puede enviar cualquier tipo de comando... El programa responde con el PID del proceso ejecutado. Ahora, cada vez que el usuario entre a la pc, el proceso seguirá iniciado, y uno se puede conectar sin tener que hacer nada.

Cualquier error, bug, o si falta información en el post, notifíquenmelo y lo corrijo. Lo mismo si tienen algún error con el programa.

Datos:
Ambos programas los hice con Visual Basic 6.
El instalador lo cree con Inno Setup Compiler. Si quieren pueden crear un setup nuevo y adaptarlo a sus necesidades.
El puerto 53124 es el que usa el servidor, así que lo único que hay que poner en el cliente es el nombre de host.

Descarga:
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Testeado en Windows 7 Ultimate

Espero que les guste ;)
#27
Wargames y retos / [RETO]XSS Simple
Mayo 05, 2013, 07:31:46 PM
Bueno, este es mi primer tema, y primero me presento. Tengo 13 años y soy fanático de la programación web. Me registré en el foro, y me gusto el tema de los wargames y los ataques XSS, por eso, hoy desarrolle uno simple.

Es un script en donde ponés un titulo y la url de una imagen, estos datos se almacenan en una base de datos, y se muestran en un página.

El objetivo de este ataque es crear un alert en javascript con tu nombre de usuario al introducir datos en el formulario. Es posible atacar los dos campos del formulario...

Para comprobar que lo lograste, hacé una captura de pantalla y subila a underc0de!

Link del sitio: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Ganadores:

  • ANTRAX
  • StOrMd4rk
  • 11Sep
  • Doddy
  • 54NDR4

Forma de resolverlo:

en el campo titulo, poner esto:
"><script>alert("mensaje");</script><img src="

Si hay algun error, avisenme y lo corrijo!