Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!perl
- use strict;
- use Crypt::Digest::SHA512 qw( sha512 );
- use CGI qw(:standard Vars);
- my %FORM = Vars();
- my $html = join('',<DATA>);
- my $user = $FORM{'authname'};
- my $pass = $FORM{'password'};
- my $uid = $FORM{'uid'};
- my $sql;
- if( $user && $pass && $uid )
- {
- my $hash =join '', unpack '(H2)*', game_hash_password($user, $pass);
- $sql .= "INSERT INTO cohauth.dbo.user_account (account, uid, forum_id, pay_stat) VALUES ('$user', $uid, 1, 1014);\n";
- $sql .= "INSERT INTO cohauth.dbo.user_auth (account, password, salt, hash_type) VALUES ('$user', CONVERT(BINARY(128),'$hash'), 0, 1);\n";
- $sql .= "INSERT INTO cohauth.dbo.user_data (uid, user_data) VALUES ($uid, 0x0080C2E000D00B0C000000000CB40058);\n";
- $sql .= "INSERT INTO cohauth.dbo.user_server_group (uid, server_group_id) VALUES ($uid, 1);\n";
- }
- print "content-type: text/html\n\n";
- print "<pre>$sql</pre>";
- print $html;
- ####################################################################################################
- sub game_hash_password
- {
- my $authname = $_[0];
- my $password = $_[1];
- $authname = lc($authname);
- my $a32 = adler32($authname);
- my $a32hex = sprintf('%08s', sprintf("%x", $a32));
- my $a32hex = substr($a32hex, 6, 2) . substr($a32hex, 4, 2) . substr($a32hex, 2, 2) . substr($a32hex, 0, 2);
- my $digest = sha512($password . $a32hex);
- return $digest;
- }
- ####################################################################################################
- sub adler32
- {
- my $data = $_[0];
- my $mod_adler = 65521;
- my $x = 1;
- my $y = 0;
- my $len = length($data);
- my @indata = split(//,$data);
- for(my $index = 0; $index < $len; $index++)
- {
- $x = ($x + ord($indata[$index])) % $mod_adler;
- $y = ($y + $x) % $mod_adler;
- }
- return ($y << 16) | $x;
- }
- __DATA__
- <html>
- <head>
- <title>COH Account SQL Generator</title>
- </head>
- <body>
- <form action='#' target='_self' method='post'>
- <table>
- <tr>
- <td><b>UID</b></td>
- <td><input type='text' name='uid' value='1'></td>
- </tr>
- <tr>
- <td><b>Login</b></td>
- <td><input type='text' name='authname' value='test' maxlength=14>(maximum 14 characters; only letters and numbers)</td>
- </tr>
- <tr>
- <td><b>Password</b></td>
- <td><input type='text' name='password' value='password' maxlength=16>(between 8 and 16 characters)</td>
- </tr>
- <tr>
- <td colspan=2><input type="submit" value='Generate SQL'></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement