It is an option because some users need to interface dolibarr with some
external system that needs authentication with clear password. In such
case, api or dolibarr addon/modules et batch needs to find password (an
example is module ldap).
When option is on, password is hashed with a md5 password.

With version 3.5, parameter "MAIN_SECURITY_SALT" will allow to choose value
for the salt.

In most cases, when we don't have the escape into the sql function, it is
because the data is not a data coming from a user input but a data computed
by dolibarr code because calling the request.
For example conf->entity is a data always defined by dolibarr and does not
depends from user input.
But you are right, it would be safer to always escape parameter.

This is a good remind for developper.



2013/11/3 Philip Lehmann-Böhm <phi...@philiplb.de>

> Hi, thank you for the answer.
> Ok,
> why is this an option? This is just not optional. Thanks for pointing me
> to it, I wouldn't have found it. :) The whole column "pass" should just
> be removed.
> How is the password crypted? I assume a salted and hashed password?
>
> How comes that you use an own function to escape query parameters and
> not the buildin ones?
> Take for example this one: admin/facture.php
>
> line 161: $sql.= " WHERE nom = '".$db->escape($value)."'";
>
> line 194:     $sql.= " VALUES ('".$value."', '".$type."',
> ".$conf->entity.", ";
>
> $value is the same variable, one time escaped, one time not. Maybe this
> is dangerous, maybe not. If you'd use prepared statements and not string
> concatenation, this would not have slipped through.
>
> No offense meant, this is just important. :)
>
> Am 03.11.2013 22:11, schrieb Destailleur Laurent:
> > There is already an option to have password crypted into database (menu
> > security - encrypt password)
> >
> > Also you suggest to use a method to sanitized sql request parameters.
> > Using such a function to clean sql parameters is already done. The
> > function is called db->escape (a method of mysql.class.php). Port to use
> > it step by step was started few years ago.
> >
> > In a future the continuous integration platform should also be able to
> > cry when escaping parameters will be forgotten.
> >
> >
> >
> > 2013/11/3 Philip Lehmann-Böhm <phi...@philiplb.de
> > <mailto:phi...@philiplb.de>>
> >
> >     Hi,
> >
> >     (sorry, I don't know how to reply directly to the existing thread:
> >
> http://lists.nongnu.org/archive/html/dolibarr-dev/2013-10/msg00003.html
> >     )
> >
> >     This just blew my mind a bit. In this topic, especialy the denial of
> >     starting to use parametrized queries.
> >     And that the password is stored in plain text in the database is a
> >     no go.
> >
> >     And the statement, that everything of the quoted website has been
> fixed
> >     is not true. I run a freshly installed Dolibarr 3.4.1 and the
> passwords
> >     are indeed available in plain text!
> >
> >     I'm willing to help here and this is what I propose:
> >     - Are there plans to drop the plain password column? Has this already
> >     happened in the next version? This goes to much in the core of
> Dolibarr,
> >     so I won't be able to patch this in a meaningful timespan.
> >
> >     - Not using prepared statements is a no go as well. I'd add support
> for
> >     them in the mysql.class.php (not familiar with the others) with a
> >     function like this:
> >     function parametrizedQuery($query, $params,
> >     $usesavepoint=0,$type='auto')
> >     And then start to port the code to use it step by step and making
> some
> >     pull requests.
> >
> >     What do you think? Would this be a way to go?
> >
> >     Best Regards
> >     Philip
> >
> >     _______________________________________________
> >     Dolibarr-dev mailing list
> >     Dolibarr-dev@nongnu.org <mailto:Dolibarr-dev@nongnu.org>
> >     https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
> >
> >
> >
> >
> > _______________________________________________
> > Dolibarr-dev mailing list
> > Dolibarr-dev@nongnu.org
> > https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
> >
>
> _______________________________________________
> Dolibarr-dev mailing list
> Dolibarr-dev@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
>
>
_______________________________________________
Dolibarr-dev mailing list
Dolibarr-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à