ebbene oggi leggendo una rivista 'mi pare linux magazine',
ho letto dell'ennesima carenza di sicurezza in oscommerce.
ora vi chiedo : vi va di postare un elenco di contrib "fondamentali per la sicurezza" del nostro sito ? (compresa spam)
ecco un inizio :
never orders at value zero (versione semplice per evitere il cambio di valuta)
http://www.oscommerce.com/community/contributions,4573
Sanitize modified for general.php (per evitare iniezioni di codice all'interno delle text area)
http://www.oscommerce.com/community/contributions,4232
Prefisso alle tabelle (sempre per evitare attacchi di iniezioni sql su tabelle "standard")
http://www.oscommerce.com/community/contributions,3214
registrazione con e-mail di conferma,
registrazione con antirobot per evitare spam,
contattaci e consiglia ad un amico con anti robot per lo spam
altre idee ?
TOPIC CALDO ! [sicurezza in oscommerce]
Moderatore: mod Generali
TOPIC CALDO ! [sicurezza in oscommerce]
Home page personale http://www.magnino.net
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk
Re: TOPIC CALDO ! [sicurezza in oscommerce]
Si tratta di un bug critico in quanto teoricamente è possibile acquistare beni digitali a costo zero.maury2ma ha scritto: never orders at value zero (versione semplice per evitere il cambio di valuta)
http://www.oscommerce.com/community/contributions,4573
La soluzione proposta nel link non risolve completamente il problema.
Se ad es il codice della valuta dollaro viene inserito dal merchant erroneamente in minuscolo (usd), il problema si ripresenta.
Il bug effettivo non si trova nella classe currencies, ma nella query interna alla funzione tep_currency_exists:
Codice: Seleziona tutto
$currency_code = tep_db_query("select currencies_id from " . TABLE_CURRENCIES . "
where code = '" . tep_db_input($code) . "'");
D'altra parte il PHP è case sensitive, quindi il codice valuta risulta inesistente e, conseguentemente, il valore rispetto alla valuta di default risulta zero.
Il fix corretto a questo bug consiste nel modificare la query in modo da tener conto del case del codice valuta, aggiungendo la parola chiave "binary":
Codice: Seleziona tutto
function tep_currency_exists($code) {
$code = tep_db_prepare_input($code);
$currency_code = tep_db_query("select currencies_id from " . TABLE_CURRENCIES . " where binary code = '" . tep_db_input($code) . "'");
if (tep_db_num_rows($currency_code)) {
return $code;
} else {
return false;
}
}
Saluti
Marcus
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
corretto.
sai percaso di come fare per evitare attacchi croos-site ?
http://www.securityfocus.com/bid/20343
ho trovato qualcosa per le iniezioni sql, ma per i cross-site nulla.
secondo te inplementare la sicurezza con wasp
http://savannah.nongnu.org/projects/wasp/
esattamente inserendo il file php_sec.php
nella cartella includes
e poi modificando application_top.php
aggiungendo in cima :
e' superfluo oppure no ?
qualcuno sa fare iniezioni sql per sapere se con il wasp e' piu' sicuro ?
sai percaso di come fare per evitare attacchi croos-site ?
http://www.securityfocus.com/bid/20343
ho trovato qualcosa per le iniezioni sql, ma per i cross-site nulla.
secondo te inplementare la sicurezza con wasp
http://savannah.nongnu.org/projects/wasp/
esattamente inserendo il file php_sec.php
nella cartella includes
e poi modificando application_top.php
aggiungendo in cima :
Codice: Seleziona tutto
<?php
/*
$Id: application_top.php,v 1.280 2003/07/12 09:38:07 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
// start the timer for the page parse time log
define('PAGE_PARSE_START_TIME', microtime());
// BOF include protection sql injection
include("includes/php_sec.php");
if (sec_paranoid_check_all_params() == true)
{
die("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html> <head>
<title>ERROR</title>
<meta content=\"\"/>
<meta http-equiv=\"Refresh\"content=\"0;URL=/index.php\"/>
</head>
<body></body>
</html>
");
}
// EOF protection
qualcuno sa fare iniezioni sql per sapere se con il wasp e' piu' sicuro ?
Home page personale http://www.magnino.net
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk
mi rispondo da solo : troppo lavoro per configurarlo.
ogni pagina deve gestire tutte le variabili possibili e quelle "impossibili"
ogni pagina deve gestire tutte le variabili possibili e quelle "impossibili"
Home page personale http://www.magnino.net
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk
SVN aggiornamenti http://code.google.com/p/oswai/source/browse/#svn/trunk