Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Gros problème de sécurité avec les composants (LOGIN par exemple)

8 réponses
Avatar
:-\)
Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :
AUCUN MÉCANISME D'AUTHENTIFICATION DU COMPOSANT N'EST PRÉSENT !!!

Exemple simple :
- Prenez le composant LOGIN livré avec Windev et intégrez le dans votre
application
- Créez votre propre composant LOGIN avec des noms de fonction identiques à
ceux du composant PCSOFT et ces fonctions retournent toujours VRAI lorsqu'on
les appelle et n 'exécutent aucun traitement (ou bien encore modifiez le
composant PCSOFT pour qu'il retourne VRAI même si le login est FAUX)
- Remplacez le composant LOGIN original par le votre
- Votre application fonctionne sans login, on a accès à tout !!!

Windev se contente de charger le composant dont le nom correspond à celui
qui a été intégré originalement sans se vérifier si il s'agit du véritable
composant. Un GUID attribué à chaque composant permettrait de le faire, non
? Ceux qui utilisent les composants devraient être conscients que n'importe
quel programmeur windev peut les remplacer et modifier facilement le
comportement de l'application.

8 réponses

Avatar
Antoine
Il faut encore connaitre le code du composnat d'origine pour faire ce que tu
dis, savoir le nom des procédures, savoir qu'il doit renvoyer vrai ou
faux....
Tu devrais toutefois les contacter pour leur indiquer
Antoine

:-) wrote:
Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :
AUCUN MÉCANISME D'AUTHENTIFICATION DU COMPOSANT N'EST PRÉSENT !!!

Exemple simple :
- Prenez le composant LOGIN livré avec Windev et intégrez le dans
votre application
- Créez votre propre composant LOGIN avec des noms de fonction
identiques à ceux du composant PCSOFT et ces fonctions retournent
toujours VRAI lorsqu'on les appelle et n 'exécutent aucun traitement
(ou bien encore modifiez le composant PCSOFT pour qu'il retourne VRAI
même si le login est FAUX) - Remplacez le composant LOGIN original par le
votre
- Votre application fonctionne sans login, on a accès à tout !!!

Windev se contente de charger le composant dont le nom correspond à
celui qui a été intégré originalement sans se vérifier si il s'agit
du véritable composant. Un GUID attribué à chaque composant
permettrait de le faire, non ? Ceux qui utilisent les composants
devraient être conscients que n'importe quel programmeur windev peut
les remplacer et modifier facilement le comportement de l'application.


Avatar
Stéphane
Antoine wrote:
Il faut encore connaitre le code du composnat d'origine pour faire ce
que tu dis, savoir le nom des procédures, savoir qu'il doit renvoyer
vrai ou faux....
Tu devrais toutefois les contacter pour leur indiquer
Antoine



Je pense être comme tout le monde, quand j'utilise un composant fourni, je
ne m'amuse pas à changer les noms des procédures. Donc, à priori, ça ne
devrait pas être trop compliqué. Mais si le composant est intégré à l'appli,
c'est celui là qui est utilisé non ? J'avoue ne pas avoir testé.

--
Ami Calmant
Stéphane



---
Courrier sortant certifié sans virus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.796 / Virus Database: 540 - Release Date: 13/11/2004
Avatar
:-\)
Vous avez un peu raison. Il n'empêche que grâce à cette faille de sécurité
on est capable d'utiliser toutes les applications qui utilisent le composant
LOGIN livré avec Windev...

"Antoine" a écrit dans le message de news:
419996ce$0$13742$
Il faut encore connaitre le code du composnat d'origine pour faire ce que
tu dis, savoir le nom des procédures, savoir qu'il doit renvoyer vrai ou
faux....
Tu devrais toutefois les contacter pour leur indiquer
Antoine

:-) wrote:
Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :
AUCUN MÉCANISME D'AUTHENTIFICATION DU COMPOSANT N'EST PRÉSENT !!!

Exemple simple :
- Prenez le composant LOGIN livré avec Windev et intégrez le dans
votre application
- Créez votre propre composant LOGIN avec des noms de fonction
identiques à ceux du composant PCSOFT et ces fonctions retournent
toujours VRAI lorsqu'on les appelle et n 'exécutent aucun traitement
(ou bien encore modifiez le composant PCSOFT pour qu'il retourne VRAI
même si le login est FAUX) - Remplacez le composant LOGIN original par le
votre
- Votre application fonctionne sans login, on a accès à tout !!!

Windev se contente de charger le composant dont le nom correspond à
celui qui a été intégré originalement sans se vérifier si il s'agit
du véritable composant. Un GUID attribué à chaque composant
permettrait de le faire, non ? Ceux qui utilisent les composants
devraient être conscients que n'importe quel programmeur windev peut
les remplacer et modifier facilement le comportement de l'application.






Avatar
:-\)
Le composant n'est pas intégré à l'appli il est dans un fichier externe.
Donc on peut le remplacer très facilement en écrasant le fichier d'origine.

"Stéphane" a écrit dans le message de news:
4199ae04$0$15756$
Antoine wrote:
Il faut encore connaitre le code du composnat d'origine pour faire ce
que tu dis, savoir le nom des procédures, savoir qu'il doit renvoyer
vrai ou faux....
Tu devrais toutefois les contacter pour leur indiquer
Antoine



Je pense être comme tout le monde, quand j'utilise un composant fourni, je
ne m'amuse pas à changer les noms des procédures. Donc, à priori, ça ne
devrait pas être trop compliqué. Mais si le composant est intégré à
l'appli,
c'est celui là qui est utilisé non ? J'avoue ne pas avoir testé.

--
Ami Calmant
Stéphane



---
Courrier sortant certifié sans virus
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.796 / Virus Database: 540 - Release Date: 13/11/2004



Avatar
Daniel
Bonjour,

":-)" writes:

Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :
AUCUN MÉCANISME D'AUTHENTIFICATION DU COMPOSANT N'EST PRÉSENT !!!

Exemple simple :
- Prenez le composant LOGIN livré avec Windev et intégrez le dans vot re
application
- Créez votre propre composant LOGIN avec des noms de fonction identiqu es à
ceux du composant PCSOFT et ces fonctions retournent toujours VRAI lorsqu 'on
les appelle et n 'exécutent aucun traitement (ou bien encore modifiez l e
composant PCSOFT pour qu'il retourne VRAI même si le login est FAUX)
- Remplacez le composant LOGIN original par le votre
- Votre application fonctionne sans login, on a accès à tout !!!

Windev se contente de charger le composant dont le nom correspond à cel ui
qui a été intégré originalement sans se vérifier si il s'agit d u véritable
composant. Un GUID attribué à chaque composant permettrait de le fair e, non
? Ceux qui utilisent les composants devraient être conscients que n'imp orte
quel programmeur windev peut les remplacer et modifier facilement le
comportement de l'application.



il ne s'agit pas à mon avis d'un problème de sécurité lié au comp osant
mais à tout applicatif en général.
Il suffit de faire une dll, modifier des fonctions de cette dernière
et on peut pirater une machine.
Rien empèche de mettre une clé de controle lors de l'appel du
composant qui valide ou pas l'authenticité de celui-ci.

--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
William
Bonjour
Je ne l'ai pas tester car je n'ai pas d'appli assez importante pour avoir
besoin de GW
Mais connaissans R&B je ne doute même pas.
Vous pouvez le télécharger à cette adresse
http://www.wdforge.org/modules/mydownloads/singlefile.php?cid=1&lidY
Il s'implémente de la même façon que le Gw d'origine

Cdl
William

--
Vous pouvez me joindre
ou sur Msn
joindreWilliam at hotmail.com en instantanée


":-)" a écrit dans le message de
news:
Le composant n'est pas intégré à l'appli il est dans un fichier externe.
Donc on peut le remplacer très facilement en écrasant le fichier


d'origine.

"Stéphane" a écrit dans le message de news:
4199ae04$0$15756$
> Antoine wrote:
>> Il faut encore connaitre le code du composnat d'origine pour faire ce
>> que tu dis, savoir le nom des procédures, savoir qu'il doit renvoyer
>> vrai ou faux....
>> Tu devrais toutefois les contacter pour leur indiquer
>> Antoine
>
> Je pense être comme tout le monde, quand j'utilise un composant fourni,


je
> ne m'amuse pas à changer les noms des procédures. Donc, à priori, ça ne
> devrait pas être trop compliqué. Mais si le composant est intégré à
> l'appli,
> c'est celui là qui est utilisé non ? J'avoue ne pas avoir testé.
>
> --
> Ami Calmant
> Stéphane
>
>
>
> ---
> Courrier sortant certifié sans virus
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.796 / Virus Database: 540 - Release Date: 13/11/2004
>




Avatar
michel
":-)" wrote in message news:...
Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :
AUCUN MÉCANISME D'AUTHENTIFICATION DU COMPOSANT N'EST PRÉSENT !!!

Exemple simple :
- Prenez le composant LOGIN livré avec Windev et intégrez le dans votre
application
- Créez votre propre composant LOGIN avec des noms de fonction identiques à
ceux du composant PCSOFT et ces fonctions retournent toujours VRAI lorsqu'on
les appelle et n 'exécutent aucun traitement (ou bien encore modifiez le
composant PCSOFT pour qu'il retourne VRAI même si le login est FAUX)
- Remplacez le composant LOGIN original par le votre
- Votre application fonctionne sans login, on a accès à tout !!!

Windev se contente de charger le composant dont le nom correspond à celui
qui a été intégré originalement sans se vérifier si il s'agit du véritable
composant. Un GUID attribué à chaque composant permettrait de le faire, non
? Ceux qui utilisent les composants devraient être conscients que n'importe
quel programmeur windev peut les remplacer et modifier facilement le
comportement de l'application.



Bonjour,

Je me suis aperçu de cette faille de sécurité il y a quelques mois. Je
l'ai résolu en ajoutant un fichier encrypté qui contient un hash SHA-1
du composant. À chaque exécution je vérifie si le hash correspond au
composant. Si je mets à jour le composant, je livre en même temps un
nouveau fichier de hash. Ainsi si quelqu'un remplace le composant,
l'application ne fonctionne plus.

Michel Fages
Avatar
JC FLAJOULOT
> Je viens de m'apercevoir d'un gros problème de sécurité concernant les
composants Windev :



Bonjour,

Après avoir longtemps cherché, j'ai fini par trouver :-)

Pour sécuriser un composant et rendre invisible a un autre développeur les
parties dont je ne veux pas qu'il ait connaissance, j'utilise la méthode
suivante :
Dans mon composant au niveau des procèdures globales, je crée 2 collections
de prodédures :
- pProcAccessible et pProcInvisibles
pProcAccessible ne contient qu'une procédure : pParams()
pProcInvisibles contient toutes les autres procédures du composant.
Lors de l'intégration :
- J'intègre tous les éléments nécessaires au bon fonctionnement, y compris
pProcInvisibles.
- Dans Eléments accessibles, je ne coche que pProcAccessible
Le composant ainsi généré n'a de visible par un autre développeur Windev que
le nom de la procédure pParams
qui est celle qui sert à dialoguer avec son appli.
Tout le reste du composant (fenêtres, nom des procédures, etc) s'exécutent
parfaitement mais sont totalement invisibles par le développeur ayant
intégré le composant dans son appli.

Je ne sais pas si je me suis bien expliqué (un exemple serait plus
compréhensible), mais un fait est certain cela fonctionne.

Sincères salutations
--
Jean-Claude FLAJOULOT

(otez _no_Spam pour me contacter en privé)
Sécurité Pointage & Biométrie
http://www.sp-et-b.com