witam
mam tutaj pewnie hash
czy ktos moze wie jaki to jest typ?
i czym to rozkodowac?
z tego co wiem to niejest md5, md5 powinien miec 16 bajtów
oto hash
46135fdd4ad6bd3c
pozdrawiam
witam
mam tutaj pewnie hash
czy ktos moze wie jaki to jest typ?
i czym to rozkodowac?
z tego co wiem to niejest md5, md5 powinien miec 16 bajtów
oto hash
46135fdd4ad6bd3c
pozdrawiam
Powiedz skąd go masz, to jakaś wskazówka będzie, bo tak to ciężko powiedziec.
to jest hash pozwalajacy logowac sie do panelu admina na stronie, strona jest w php, strona jest zamieszczona na serwerze z debianem, wersja kernela 2.6.17
cos jeszcze?
i ja też mam jakieś przeczucie ze to md5...
Agencja reklamy kielce (mały kilkudniowy case pozycjonerski)
skoro masz jakotaki dostęp do servera, może oblukaj funkcje która geneuje ten hash. To nie jest żaden 'standardowy', autor skryptu musiał sam napisać algorytm.
nie wiem jaki to algorytm ale dolanczam tresc pliku user_password.php moze to wam cos da:
Kod php:
<?php
/* $Id: user_password.php,v 2.3 2003/11/26 22:52:24 rabus Exp $ */
// vim: expandtab sw=4 ts=4 sts=4:
/**
* Gets some core libraries
*/
require_once('./libraries/grab_globals.lib.php');
require_once('./libraries/common.lib.php');
/**
* Displays an error message and exits if the user isn't allowed to use this
* script
*/
if (!$cfg['ShowChgPassword']) {
$cfg['ShowChgPassword'] = @PMA_mysql_query('USE mysql', $userlink);
}
if ($cfg['Server']['auth_type'] == 'config' || !$cfg['ShowChgPassword']) {
require_once('./header.inc.php');
echo '<p><b>' . $strError . '</b></p>' . "\n"
. '<p> ' . $strNoRights . '</p>' . "\n";
require_once('./footer.inc.php');
} // end if
/**
* If the "change password" form has been submitted, checks for valid values
* and submit the query or logout
*/
if (isset($nopass)) {
$error_msg = '';
if ($nopass == 0 && isset($pma_pw) && isset($pma_pw2)) {
if ($pma_pw != $pma_pw2) {
$error_msg = $strPasswordNotSame;
}
if (empty($pma_pw) || empty($pma_pw2)) {
$error_msg = $strPasswordEmpty;
}
} // end if
// here $nopass could be == 1
if (empty($error_msg)) {
// Defines the url to return to in case of error in the sql statement
$common_url_query = PMA_generate_common_url();
$err_url = 'user_password.php?' . $common_url_query;
$sql_query = 'SET password = ' . (($pma_pw == '') ? '\'\'' : 'PASSWORD(\'' . preg_replace('@[email protected]', '*', $pma_pw) . '\')');
$local_query = 'SET password = ' . (($pma_pw == '') ? '\'\'' : 'PASSWORD(\'' . PMA_sqlAddslashes($pma_pw) . '\')');
$result = @PMA_mysql_query($local_query) or PMA_mysqlDie('', '', FALSE, $err_url);
// Changes password cookie if required
if ($cfg['Server']['auth_type'] == 'cookie') {
setcookie('pma_cookie_password', base64_encode(PMA_blowfish_encrypt($pma_pw,$GLOBALS['cfg']['blowfish_secret'])), 0, $cookie_path, '', $is_https);
} // end if
// For http auth. mode, the "back" link will also enforce new
// authentication
$http_logout = ($cfg['Server']['auth_type'] == 'http')
? '&old_usr=relog'
: '';
// Displays the page
require_once('./header.inc.php');
echo '<h1>' . $strChangePassword . '</h1>' . "\n\n";
$show_query = 'y';
PMA_showMessage($strUpdateProfileMessage);
?>
<a href="index.php?<?php echo $common_url_query . $http_logout; ?>" target="_parent">
<b><?php echo $strBack; ?></b></a>
<?php
exit();
} // end if
} // end if
/**
* If the "change password" form hasn't been submitted or the values submitted
* aren't valid -> displays the form
*/
// Loads the headers
$js_to_run = 'user_password.js';
require_once('./header.inc.php');
echo '<h1>' . $strChangePassword . '</h1>' . "\n\n";
// Displays an error message if required
if (!empty($error_msg)) {
echo '<p><b>' . $strError . ' : ' . $error_msg . '</b></p>' . "\n";
}
// loic1: autocomplete feature of IE kills the "onchange" event handler and it
// must be replaced by the "onpropertychange" one in this case
$chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5)
? 'onpropertychange'
: 'onchange';
// Displays the form
?>
<form method="post" action="./user_password.php" name="chgPassword" onsubmit="return checkPassword(this)">
<?php echo PMA_generate_common_hidden_inputs(); ?>
<table border="0">
<tr>
<td colspan="2">
<input type="radio" name="nopass" value="1" onclick="pma_pw.value = ''; pma_pw2.value = ''; this.checked = true" />
<?php echo $GLOBALS['strNoPassword'] . "\n"; ?>
</td>
</tr>
<tr>
<td>
<input type="radio" name="nopass" value="0" checked="checked " />
<?php echo $GLOBALS['strPassword']; ?> :
</td>
<td>
<input type="password" name="pma_pw" size="10" class="textfield" <?php echo $chg_evt_handler; ?>="nopass[1].checked = true" />
<?php echo $GLOBALS['strReType']; ?> :
<input type="password" name="pma_pw2" size="10" class="textfield" <?php echo $chg_evt_handler; ?>="nopass[1].checked = true" />
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="<?php echo($strChange); ?>" />
</td>
</tr>
</table>
</form>
<?php
/**
* Displays the footer
*/
require_once('./footer.inc.php');
?>
raczej nic tam niema.
(dodaj jeszcze te z require_once)
tam jest tylko decodowanie cookis base64 i blowfish - ale ten hash fo tego niepasuje
Blowfish jest tylko do ciasteczek uzywany tutaj...
Ten 16-bajtowy ciag to haslo a wlasciwie jego hash wygnerowany funkcja PASSWORD() w MySQL < 4.1 bo od wersji 4.1 w gore ten hash ma juz 41 bajtow a nie 16... Algorytm generowania hasha jest jakis specyficzny - tzn nigdzie nie podaja jak jest generowany, podaja tylko ze MySQL ma takie cos i ma swoj algorytm.
Ponizej hashe dla MySQL starszego niz 4.1 i dla 4.1 (zrodlo http://dev.mysql.com/doc/refman/5.0/...hashing.html):
Poza tym strona http://phpsec.org/articles/2005/password-hashing.html podaje:Kod:mysql> SELECT PASSWORD('mypass'); +--------------------+ | PASSWORD('mypass') | +--------------------+ | 6f8c114b58f2ce9e | +--------------------+ mysql> SELECT PASSWORD('mypass'); +-------------------------------------------+ | PASSWORD('mypass') | +-------------------------------------------+ | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 | +-------------------------------------------+
To chyba tyle w temacie...In MySQL you can generate hashes internally using the password(), md5(), or sha1 functions. password() is the function used for MySQL's own user authentication system. It returns a 16-byte string for MySQL versions prior to 4.1, and a 41-byte string (based on a double SHA-1 hash) for versions 4.1 and up. md5() is available from MySQL version 3.23.2 and sha1() was added later in 4.0.2.
ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)