Gå til innhold

Symantec: ? Slå av pcAnywhere nå


Anbefalte innlegg

Videoannonse
Annonse

Er du klar over at man kan lage kloner av programmer hvis man kjenner til alt av kilde kode ?

 

Da lager man et program som lurer serveren til å tro at det er det ekte programmet som kjører .

Den enste forskjellen er her at klonen oppfører seg alt annet en normalt .

Du kan kun klone klienten i så fall, hvis ikke også den foregår på serversiden via f. eks en nettside. Uansett så foregår behandlingen av data vanligvis på serverens side, da har det ingenting å si om klienten din er korrupt om sjekken ikke kan endres. Selv om du kjenner kildekoden til serveren som du kan logge deg inn på, så betyr ikke det at du kan endre den.

 

Lenke til kommentar
Er du klar over at man kan lage kloner av programmer hvis man kjenner til alt av kilde kode ?

Hvordan har du tenkt til at en som kjenner kildekoden til pcAnywhere skal få kompilert og installert en modifisert utgave på offerets maskin?

 

Det er fult mulig hvis ofret selv blir lurt til å gjøre det.

de flest laster jo bare ned og installerer programmer

 

 

Du kan kun klone klienten i så fall, hvis ikke også den foregår på serversiden via f. eks en nettside. Uansett så foregår behandlingen av data vanligvis på serverens side, da har det ingenting å si om klienten din er korrupt om sjekken ikke kan endres. Selv om du kjenner kildekoden til serveren som du kan logge deg inn på, så betyr ikke det at du kan endre den.

 

Hvis man kjenner kilde koden til et hver program ( også server ) så er det fullt mulig å lage egne utgaver.

 

i og for seg så var jeg inne på det tidligere hvis bare deler av systemet er haket ( modifisert program) så er det omtrent like vanskelig å bryte seg inn som det er med originalen

Endret av den andre elgen
Lenke til kommentar

 

Det er fult mulig hvis ofret selv blir lurt til å gjøre det.

de flest laster jo bare ned og installerer programmer

 

 

Dette er universalt umulig å sikre seg mot. Det eneste som kan hjelpe i noen grad mot dette er å være i et diktatorisk sperret miljø som iOS eller W8 Metro, altså er fordelen langt mindre enn bakdelen.

Lenke til kommentar

Manuelle "virus" som f.eks en postit-lapp på tastaturet med påskriften "skriv format C: og trykk enter" var jo festlige saker en gang i tida, men hvor mange gikk egentlig på det? Om det er den type "virus" du tenker på så er det ikke maskinvaren eller programvaren som er problemet.

Lenke til kommentar

Manuelle "virus" som f.eks en postit-lapp på tastaturet med påskriften "skriv format C: og trykk enter" var jo festlige saker en gang i tida, men hvor mange gikk egentlig på det? Om det er den type "virus" du tenker på så er det ikke maskinvaren eller programvaren som er problemet.

 

Likevel er det en potensiell fare med dem

Endret av den andre elgen
Lenke til kommentar

Vi er alle enige om at Social Engineering er den letteste måten å få adgang til ett system :)

 

den andre elgen: jeg skulle ønske at du hadde slike skills som du snakker om. Da skulle jeg satt opp en innlogging på en web-side og gitt deg all kildekoden, så kunne du holdt på til du ble blå i ansiktet.

Lenke til kommentar

Vi er alle enige om at Social Engineering er den letteste måten å få adgang til ett system :)

 

den andre elgen: jeg skulle ønske at du hadde slike skills som du snakker om. Da skulle jeg satt opp en innlogging på en web-side og gitt deg all kildekoden, så kunne du holdt på til du ble blå i ansiktet.

 

Det spørs hvilket programmeringsspråk du pålegger meg å bruke.

 

Derimot så er du neppe i stand til å gi meg alle koden som brukes for å få det til ( slik jeg har nevnt det lenger oppe ).

Innlogging på en web-side krever nok mere kilde kode en den du kan få tak i.

 

 

husk at det jeg mer er absolutt all koden , ikke det man tror som er alle nødvendig kode

Lenke til kommentar

Du tar fortsatt feil, elgen. At du har kildekoden endrer ikke hva som kjøres på serveren. At du kan se hvordan passordene behandles er irrelevant så lenge det gjøres på en sikker måte.

 

Dette stemmer, fordi passord burde bli hashet, det vil si at du får en lang pen streng med bokstaver og tall.

Den er også enveis, så du kan ikke bruke hashen for å få frem passordet på noen som helst måte.

Man kan derimot brute force og forsøke å kjøre forskjellige kombinasjoner og se om man får samme hash, men er det ett langt passord så har du jobb for det neste årtusenet.

  • Liker 1
Lenke til kommentar
Gjest Slettet-t8fn5F

Kildekoden for å logge seg inn på en php-nuke side. Versågo kjør debatt...

 

 

<?php

/***************************************************************************

* login.php

* -------------------

* begin : Saturday, Feb 13, 2001

* copyright : © 2001 The phpBB Group

* email : [email protected]

*

* $Id: login.php,v 1.47.2.24 2006/04/22 20:28:42 grahamje Exp $

*

*

***************************************************************************/

 

/***************************************************************************

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 2 of the License, or

* (at your option) any later version.

*

***************************************************************************/

if ( !defined('MODULE_FILE') )

{

die("You can't access this file directly...");

}

$module_name = basename(dirname(__FILE__));

require("modules/".$module_name."/nukebb.php");

 

//

// Allow people to reach login page if

// board is shut down

//

define("IN_LOGIN", true);

 

define('IN_PHPBB', true);

include($phpbb_root_path . 'extension.inc');

include($phpbb_root_path . 'common.'.$phpEx);

 

//

// Set page ID for session management

//

$userdata = session_pagestart($user_ip, PAGE_LOGIN, $nukeuser);

init_userprefs($userdata);

//

// End session management

//

 

// session id check

if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))

{

$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];

}

else

{

$sid = '';

}

 

if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )

{

if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )

{

$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';

$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

 

$sql = "SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try

FROM " . USERS_TABLE . "

WHERE username = '" . str_replace("\\'", "''", $username) . "'";

if ( !($result = $db->sql_query($sql)) )

{

message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);

}

 

if( $row = $db->sql_fetchrow($result) )

{

if( $row['user_level'] != ADMIN && $board_config['board_disable'] )

{

header($header_location . append_sid("index.$phpEx", true));

exit;

}

else

{

// If the last login is more than x minutes ago, then reset the login tries/time

if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60)))

{

$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);

$row['user_last_login_try'] = $row['user_login_tries'] = 0;

}

 

// Check to see if user is allowed to login again... if his tries are exceeded

if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] &&

$row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)

{

message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));

}

 

if( md5($password) == $row['user_password'] && $row['user_active'] )

{

$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

 

$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;

$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);

 

// Reset login tries

$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);

 

if( $session_id )

{

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";

redirect(append_sid($url, true));

}

else

{

message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);

}

}

// Only store a failed login attempt for an active user - inactive users can't login even with a correct password

elseif( $row['user_active'] )

{

// Save login tries and last login

if ($row['user_id'] != ANONYMOUS)

{

$sql = 'UPDATE ' . USERS_TABLE . '

SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . '

WHERE user_id = ' . $row['user_id'];

$db->sql_query($sql);

}

 

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';

$redirect = str_replace('?', '&', $redirect);

 

if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))

{

message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');

}

 

$template->assign_vars(array(

'META' => '<meta http-equiv=\"refresh\" content=\"3;url=' . append_sid("login.$phpEx?redirect=$redirect") . '\">')

);

 

$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href=\"' . append_sid("login.$phpEx?redirect=$redirect") . '\">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

 

message_die(GENERAL_MESSAGE, $message);

}

}

}

else

{

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";

$redirect = str_replace("?", "&", $redirect);

 

if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))

{

message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');

}

 

$template->assign_vars(array(

'META' => '<meta http-equiv=\"refresh\" content=\"3;url=' . append_sid("login.$phpEx?redirect=$redirect") . '\">')

);

 

$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href=\"' . append_sid("login.$phpEx?redirect=$redirect") . '\">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

 

message_die(GENERAL_MESSAGE, $message);

}

}

else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )

{

// session id check

if ($sid == '' || $sid != $userdata['session_id'])

{

message_die(GENERAL_ERROR, 'Invalid_session');

}

 

if( $userdata['session_logged_in'] )

{

session_end($userdata['session_id'], $userdata['user_id']);

}

 

if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))

{

$url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']);

$url = str_replace('&', '&', $url);

redirect(append_sid($url, true));

}

else

{

redirect(append_sid("index.$phpEx", true));

}

}

else

{

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";

redirect(append_sid($url, true));

}

}

else

{

//

// Do a full login page dohickey if

// user not already logged in

//

if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))

{

$page_title = $lang['Login'];

include("modules/$module_name/includes/page_header.php");

 

$template->set_filenames(array(

'body' => 'login_body.tpl')

);

 

$forward_page = '';

 

if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )

{

$forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];

 

if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )

{

$forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];

$forward_match = explode('&', $forward_to);

 

if(count($forward_match) > 1)

{

for($i = 1; $i < count($forward_match); $i++)

{

if( !ereg("sid=", $forward_match[$i]) )

{

if( $forward_page != '' )

{

$forward_page .= '&';

}

$forward_page .= $forward_match[$i];

}

}

$forward_page = $forward_match[0] . '?' . $forward_page;

}

else

{

$forward_page = $forward_match[0];

}

}

}

 

Header("Location: modules.php?name=Your_Account&redirect=$forward_page");

$username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';

 

$s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';

$s_hidden_fields .= (isset($HTTP_GET_VARS['admin'])) ? '<input type="hidden" name="admin" value="1" />' : '';

 

make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(

'USERNAME' => $username,

 

'L_ENTER_PASSWORD' => (isset($HTTP_GET_VARS['admin'])) ? $lang['Admin_reauthenticate'] : $lang['Enter_password'],

'L_SEND_PASSWORD' => $lang['Forgotten_password'],

 

'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),

 

'S_HIDDEN_FIELDS' => $s_hidden_fields)

);

 

$template->pparse('body');

 

include("modules/$module_name/includes/page_tail.php");

}

else

{

header($header_location . append_sid("index.$phpEx", true));

exit;

}

 

}

 

?>

 

 

Lenke til kommentar

Du tar fortsatt feil, elgen. At du har kildekoden endrer ikke hva som kjøres på serveren. At du kan se hvordan passordene behandles er irrelevant så lenge det gjøres på en sikker måte.

 

Og dere har bare fått med dere omtrent bare halvparten av det jeg skriver.

( for her snakker dere bare om klient delen )

 

PHP er et av de språken jeg ikke kjenner.

 

For å få det avklart .

 

så er det snakk om kilde koden til:

klient

server

alle subrutinene

og eventuelt andre hjelpe programmer

Endret av den andre elgen
Lenke til kommentar

Og finner du en snarvei som gjør at du får hashing til å bli toveis...

Vell da har du revolusjonert datamaskiner allerede, du har mer enn doblet harddisk kapasiteten og laget ett stort sikkerhetshull (Trenger bare å lagre enn hash for filen som tar betydlig mindre plass)

 

Med andre ord, det er ikke mulig idag, og jeg tror ikke du vil se at det er mulig matematisk heller.

  • Liker 3
Lenke til kommentar

Kildekoden for å logge seg inn på en php-nuke side. Versågo kjør debatt...

 

 

<?php

/***************************************************************************

* login.php

* -------------------

* begin : Saturday, Feb 13, 2001

* copyright : © 2001 The phpBB Group

* email : [email protected]

*

* $Id: login.php,v 1.47.2.24 2006/04/22 20:28:42 grahamje Exp $

*

*

***************************************************************************/

 

/***************************************************************************

*

* This program is free software; you can redistribute it and/or modify

* it under the terms of the GNU General Public License as published by

* the Free Software Foundation; either version 2 of the License, or

* (at your option) any later version.

*

***************************************************************************/

if ( !defined('MODULE_FILE') )

{

die("You can't access this file directly...");

}

$module_name = basename(dirname(__FILE__));

require("modules/".$module_name."/nukebb.php");

 

//

// Allow people to reach login page if

// board is shut down

//

define("IN_LOGIN", true);

 

define('IN_PHPBB', true);

include($phpbb_root_path . 'extension.inc');

include($phpbb_root_path . 'common.'.$phpEx);

 

//

// Set page ID for session management

//

$userdata = session_pagestart($user_ip, PAGE_LOGIN, $nukeuser);

init_userprefs($userdata);

//

// End session management

//

 

// session id check

if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))

{

$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];

}

else

{

$sid = '';

}

 

if( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) || isset($HTTP_POST_VARS['logout']) || isset($HTTP_GET_VARS['logout']) )

{

if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) )

{

$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';

$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

 

$sql = "SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try

FROM " . USERS_TABLE . "

WHERE username = '" . str_replace("\\'", "''", $username) . "'";

if ( !($result = $db->sql_query($sql)) )

{

message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql);

}

 

if( $row = $db->sql_fetchrow($result) )

{

if( $row['user_level'] != ADMIN && $board_config['board_disable'] )

{

header($header_location . append_sid("index.$phpEx", true));

exit;

}

else

{

// If the last login is more than x minutes ago, then reset the login tries/time

if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60)))

{

$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);

$row['user_last_login_try'] = $row['user_login_tries'] = 0;

}

 

// Check to see if user is allowed to login again... if his tries are exceeded

if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] &&

$row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN)

{

message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time']));

}

 

if( md5($password) == $row['user_password'] && $row['user_active'] )

{

$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;

 

$admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0;

$session_id = session_begin($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin);

 

// Reset login tries

$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']);

 

if( $session_id )

{

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";

redirect(append_sid($url, true));

}

else

{

message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__);

}

}

// Only store a failed login attempt for an active user - inactive users can't login even with a correct password

elseif( $row['user_active'] )

{

// Save login tries and last login

if ($row['user_id'] != ANONYMOUS)

{

$sql = 'UPDATE ' . USERS_TABLE . '

SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . '

WHERE user_id = ' . $row['user_id'];

$db->sql_query($sql);

}

 

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';

$redirect = str_replace('?', '&', $redirect);

 

if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))

{

message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');

}

 

$template->assign_vars(array(

'META' => '<meta http-equiv=\"refresh\" content=\"3;url=' . append_sid("login.$phpEx?redirect=$redirect") . '\">')

);

 

$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href=\"' . append_sid("login.$phpEx?redirect=$redirect") . '\">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

 

message_die(GENERAL_MESSAGE, $message);

}

}

}

else

{

$redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";

$redirect = str_replace("?", "&", $redirect);

 

if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r"))

{

message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.');

}

 

$template->assign_vars(array(

'META' => '<meta http-equiv=\"refresh\" content=\"3;url=' . append_sid("login.$phpEx?redirect=$redirect") . '\">')

);

 

$message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], '<a href=\"' . append_sid("login.$phpEx?redirect=$redirect") . '\">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');

 

message_die(GENERAL_MESSAGE, $message);

}

}

else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] )

{

// session id check

if ($sid == '' || $sid != $userdata['session_id'])

{

message_die(GENERAL_ERROR, 'Invalid_session');

}

 

if( $userdata['session_logged_in'] )

{

session_end($userdata['session_id'], $userdata['user_id']);

}

 

if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect']))

{

$url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']);

$url = str_replace('&', '&', $url);

redirect(append_sid($url, true));

}

else

{

redirect(append_sid("index.$phpEx", true));

}

}

else

{

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";

redirect(append_sid($url, true));

}

}

else

{

//

// Do a full login page dohickey if

// user not already logged in

//

if( !$userdata['session_logged_in'] || (isset($HTTP_GET_VARS['admin']) && $userdata['session_logged_in'] && $userdata['user_level'] == ADMIN))

{

$page_title = $lang['Login'];

include("modules/$module_name/includes/page_header.php");

 

$template->set_filenames(array(

'body' => 'login_body.tpl')

);

 

$forward_page = '';

 

if( isset($HTTP_POST_VARS['redirect']) || isset($HTTP_GET_VARS['redirect']) )

{

$forward_to = $HTTP_SERVER_VARS['QUERY_STRING'];

 

if( preg_match("/^redirect=([a-z0-9\.#\/\?&=\+\-_]+)/si", $forward_to, $forward_matches) )

{

$forward_to = ( !empty($forward_matches[3]) ) ? $forward_matches[3] : $forward_matches[1];

$forward_match = explode('&', $forward_to);

 

if(count($forward_match) > 1)

{

for($i = 1; $i < count($forward_match); $i++)

{

if( !ereg("sid=", $forward_match[$i]) )

{

if( $forward_page != '' )

{

$forward_page .= '&';

}

$forward_page .= $forward_match[$i];

}

}

$forward_page = $forward_match[0] . '?' . $forward_page;

}

else

{

$forward_page = $forward_match[0];

}

}

}

 

Header("Location: modules.php?name=Your_Account&redirect=$forward_page");

$username = ( $userdata['user_id'] != ANONYMOUS ) ? $userdata['username'] : '';

 

$s_hidden_fields = '<input type="hidden" name="redirect" value="' . $forward_page . '" />';

$s_hidden_fields .= (isset($HTTP_GET_VARS['admin'])) ? '<input type="hidden" name="admin" value="1" />' : '';

 

make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(

'USERNAME' => $username,

 

'L_ENTER_PASSWORD' => (isset($HTTP_GET_VARS['admin'])) ? $lang['Admin_reauthenticate'] : $lang['Enter_password'],

'L_SEND_PASSWORD' => $lang['Forgotten_password'],

 

'U_SEND_PASSWORD' => append_sid("profile.$phpEx?mode=sendpassword"),

 

'S_HIDDEN_FIELDS' => $s_hidden_fields)

);

 

$template->pparse('body');

 

include("modules/$module_name/includes/page_tail.php");

}

else

{

header($header_location . append_sid("index.$phpEx", true));

exit;

}

 

}

 

?>

 

 

 

Uten å vite hvordan DB-objektet behandler spørringen, så ser koden veldig sårbar ut for injection.

Lenke til kommentar
Gjest Slettet-t8fn5F

 

Uten å vite hvordan DB-objektet behandler spørringen, så ser koden veldig sårbar ut for injection.

Den var det, men skal være fikset på siden 2006 eller 2007 eller deromkring. Lenge siden vi har hatt angrep. Kanskje jeg må sette opp en site igjen for å sjekke. Med denne koden.

Lenke til kommentar

 

Uten å vite hvordan DB-objektet behandler spørringen, så ser koden veldig sårbar ut for injection.

Den var det, men skal være fikset på siden 2006 eller 2007 eller deromkring. Lenge siden vi har hatt angrep. Kanskje jeg må sette opp en site igjen for å sjekke. Med denne koden.

 

Det hadde vært artig å prøve seg på den login-koden du postet her ja :)

 

Til elgen: Skriv litt kode som kjører på serveren :p

Lenke til kommentar

Uten å vite hvordan DB-objektet behandler spørringen, så ser koden veldig sårbar ut for injection.

Den var det, men skal være fikset på siden 2006 eller 2007 eller deromkring. Lenge siden vi har hatt angrep. Kanskje jeg må sette opp en site igjen for å sjekke. Med denne koden.

 

Det hadde vært artig å prøve seg på den login-koden du postet her ja :)

 

Til elgen: Skriv litt kode som kjører på serveren :p

 

Problemet er nok at dere ikke ser mulighetene på samme måte som meg.

 

Så i stedet for å fokusere på fulltilgang på koden ( da kan man lage en modifisert utgave som gjerne bryter de innebygde sikkerhetssperrene ) så spør jeg heller om i hvilken grad man har tilgang til den fullstendig koden ?

 

Det er denne modifisere utgaven jeg har vektlagt hittil

 

Selv om det kan ta tid så er det mulig lage programmer som forsøker å finne de originale innhogg dataene , når man vet hvordan konverteringen gjøres samt at man har de konverterte dataene.

 

programmet gjetter bare seg frem med prøve og feil metoden , helt til dataene er blitt identiske

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...