OpenDCF à l'épreuve du feu

ViPHP
ViPHP | 4674 Messages

20 oct. 2008, 14:56

Concernant l'HTML et le CSS, je sais que le forum de PHPFrance comporte des erreurs, mais c'est de la faute à PhpBB
HyWaN, je parlais de la page d'accueil de phpfrance (http://www.phpfrance.com/) , pas du forum :-)
M'en fous, c'est pas moi qui l'ai faite, et pis d'ailleurs, on y retravaille ;-). Mais chuut, c'est top secret :).
De plus, comme je l'ai dit, un code avec 3 ou 4 erreurs de syntaxe peu être nettement plus correct qu'un code avec aucune erreur de syntaxe, tout bonnement parce que le sens du document est mieux conçu ou pensé. C'est pour ça qu'on tente d'utiliser XSD (XML Schema Definition) à la place de DTD (Document Type Definition) car une DTD ne donne pas le sens d'un document, sa sémantique, mais uniquement sa syntaxe (ce qui est limitatif).

Et pour revenir sur la sécurité (c'est un sujet que tu n'aimes pas ;-)), sache qu'aucune application n'est fiable à 100%. Il y a toujours une faille, toujours. Mais bon, j'aimerais juste souligner qu'il faut impérativement effectuer une validation des formulaires via PHP, sinon c'est l'horreur si c'est entièrement délégué à Javascript :?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

ViPHP
ViPHP | 5924 Messages

20 oct. 2008, 22:47

Comme dit précédemment, si quelqu'un s'est introduit sur l'intranet, il peut te pourrir ton logiciel et la base. Et tu n'as pas pris en compte le social engeneering.

Ok, on va dire qu'il y a pas de faille de sécu parce que je ne peux pas pirater l'intranet. Alors j'envoie un mail à la secrétaire, que l'on suppose une daube en informatique, et constamment loguée sur le site (attention, postulats hautement réalistes…).
Mademoiselle Boulet,

Je suis depuis lundi en attente du paiement de la facture pour les 400 tonnes de béton <a href="http://10.19.0.2/liste_factures.php?ordre=\";DELETE * FROM factures;">référence B9883E9</a>.

Dans l'expectative de votre réponse, veuillez agréer, mademoiselle, mes salutations les plus distinguées.
Voilà, un simple mail pour démonter ta base, c'est beau la technologie hein ? :-/

Eléphant du PHP | 74 Messages

21 oct. 2008, 10:41

Comme dit précédemment, si quelqu'un s'est introduit sur l'intranet, il peut te pourrir ton logiciel et la base. Et tu n'as pas pris en compte le social engeneering.

Ok, on va dire qu'il y a pas de faille de sécu parce que je ne peux pas pirater l'intranet. Alors j'envoie un mail à la secrétaire, que l'on suppose une daube en informatique, et constamment loguée sur le site (attention, postulats hautement réalistes…).
Mademoiselle Boulet,

Je suis depuis lundi en attente du paiement de la facture pour les 400 tonnes de béton <a href="http://10.19.0.2/liste_factures.php?ordre=";DELETE * FROM factures;">référence B9883E9</a>.

Dans l'expectative de votre réponse, veuillez agréer, mademoiselle, mes salutations les plus distinguées.
Voilà, un simple mail pour démonter ta base, c'est beau la technologie hein ? :-/
La faille est un peu tiré par les cheveux, elle est original, mais en effet elle existe.

Mais dans ce cas un simple lien de genre supprimerai aussi une facture sans pour autant etre une faille de sécu, car c'est le lien normal d'une suppression de facture dans OpenDCF :
<a href="http://10.19.0.20/OpenDCF/fact_delete.p ... >référence B9883E9</a>

et le jour où je créerai un lien pour imprimer toutes les factures de l'année (utile au moment du bilan) et bien elle risque d'avoir une surprise la secrtaire :-)

J'admet que ce genre de faille peut etre encore plus critique avec du sql Injection (ou autre), mais faut etre réaliste et je le dit clairement, si quelqu'un souhaite ne pas utiliser OpenDCF pour cette attaque possible, je ne le retiendrai pas, et je l'invite à NE SURTOUT PAS se former à la sécurité informatique sinon il risque de mal dormir la nuit.


Merci Sékiltoyai,
Mon projet opensource de gestion de Devis, Commandes, Factures, pour TPE : OpenDCF : http://opendcf.1g6.biz

Mammouth du PHP | 2937 Messages

21 oct. 2008, 10:52

Ok, on va dire qu'il y a pas de faille de sécu parce que je ne peux pas pirater l'intranet. Alors j'envoie un mail à la secrétaire, que l'on suppose une daube en informatique, et constamment loguée sur le site (attention, postulats hautement réalistes…).
Mademoiselle Boulet,

Je suis depuis lundi en attente du paiement de la facture pour les 400 tonnes de béton <a href="http://10.19.0.2/liste_factures.php?ordre=";DELETE * FROM factures;">référence B9883E9</a>.

Dans l'expectative de votre réponse, veuillez agréer, mademoiselle, mes salutations les plus distinguées.
Voilà, un simple mail pour démonter ta base, c'est beau la technologie hein ? :-/
On ne peut pas faire plus clair comme démonstration. :)
Mais bon, j'aimerais juste souligner qu'il faut impérativement effectuer une validation des formulaires via PHP, sinon c'est l'horreur si c'est entièrement délégué à Javascript :?
C'est d'autant plus horrible qu'on peut tomber sur le cas de figure où JavaScript est désactivé (par sécurité ou pour tout autre motif) sur le réseau d'ordinateurs ayant accès à l'Intranet. Auquel cas, pas un iota de ce qui aura été saisi dans les formulaires ne sera vérifié, ce qui signifie qu'on pourra laisser passer n'importe quoi, comme des totaux négatifs (tiens ! la TPE devra rembourser le client sans que ce dernier le demande) ou des articles mentionnant du Viagra (je force le trait) ou des vidéos zoophiles (ou toutes sortes d'atrocités envoyées par les spammeurs) alors qu'il ne s'agit, au départ, que de gérer une commande de centaines de sacs de ciment (par exemple).

On me dira : c'est essentiellement pour de l'Intranet. Mais, vu que la cible "commerciale" est les TPE, il y a de fortes chances que la plupart des TPE n'aient pas les moyens de recourir à un administrateur réseau pour configurer correctement l'Intranet, de façon à ce qu'il ne soit pas accessible autrement que par les postes internes de la TPE. On ne sera donc jamais à l'abri, au mieux d'un petit malin voulant essayer l'application sans volonté de nuire, au pire d'un pirate chevronné et sans scrupules se faisant passer pour un client, comme dans l'exemple de Sékiltoyai.

Autrement dit : "Vingt fois sur le métier remettez votre ouvrage". ;)

Eléphant du PHP | 74 Messages

21 oct. 2008, 13:44

vous etes tetu (ou bien c'est moi qui le suit un peu :wink: )
On me dira : c'est essentiellement pour de l'Intranet.
Dans certain cas ca sera de l'intranet mais la plupart du temps ca sera sur internet. Dans le cas d'internet (intranet c'est pareil d'ailleur) je le rappel encore une fois : IL N'EST PAS POSSIBLE DE MODIFIER DE DONNEES SANS AVOIR DE LOGIN /. PASSWORD.

c'est pourtant clair non ?

Tout les joomla et autre phpbb du monde fonctionne sur le meme principe. La faille qu'a indiqué Sékiltoyai pourrai aussi avoir des conséquences pour les admin de phpfrance s'il recevait un mail correctement configurer avec un lien supprimant un forum ou un utilisateur. (allez on va spammer les admin pour voir :-) )

Est ce mon esprit de transparence qui crée ce débat ? J'ai plutot l'impression que c'est un acharnement par ce que je ne respecte pas une norme qui est le contrôle des données transmise en php.

La SEULE raison pour laquelle j'effectuerai un controle des données ce serait pour créer une 2eme barrière de sécurité : La premiere serait le couple login / password et si cette barrière tombe une deuxième vérifant les données transmises empechant de tout casser rapidement (il serait possible de casser en douceur, meme avec le controle de données)
Mais si la premiere barriere tombe c'est déjà la catastrophe, un concurrent pourrait sans rien casser récupérer toutes les données. Et pour tout les outils web sécurisé par login / passowrd c'est exactement la meme chose.
Pour info beaucoup de phpmyadmin sont uniquement sécurisé par login / password. J'espère à tout les lecteurs et surtout à ceux qui pensent qu'OpenDCF manque de sécurité que vous avez tous protégé vos phpmyadmin avec une double autenth par un .htaccess, ou bien limité les adresses ip avec un firewall, ou un changement d'url ... non ? ah bon.


Pierre.
Mon projet opensource de gestion de Devis, Commandes, Factures, pour TPE : OpenDCF : http://opendcf.1g6.biz

Mammouth du PHP | 2937 Messages

21 oct. 2008, 14:03

La faille qu'a indiqué Sékiltoyai pourrai aussi avoir des conséquences pour les admin de phpfrance s'il recevait un mail correctement configurer avec un lien supprimant un forum ou un utilisateur. (allez on va spammer les admin pour voir :-) )
Sauf si un script a été codé pour vérifier les paramètres d'URL et procéder aux échappements nécessaires pour se prémunir des attaques par injection SQL. ;)