IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Rechercher et remplacer selon 2 options


Sujet :

Shell et commandes GNU

  1. #1
    Membre confirmé Avatar de Tofdu31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 93
    Par défaut Rechercher et remplacer selon 2 options
    Bonjour à tous,

    Alors je m'explique car rien que le titre ça peut faire peur...

    J'utilise un logiciel libre qui, dans les fichiers de configuration xml ou autres, il y a incrit le pass en dur qui est admin :

    Il est bien sur sous différentes formes :
    • password": "admin"
    • <Password">admin</Parameter>
    • <AdminPassword>admin</AdminPassword>
    • "password":"admin"
    • password=admin
    • ...



    L'idée qui serait le mieux est d'identifier que si sur la même ligne le mot password et le mot admin est présent, alors ça m'indique le fichier concerné.
    La seconde idée bien-sur serait d'avoir un repérage du mot "password" et de mot "admin" sur la meme ligne, et alors, changer la valeur "admin" en 12345 (pour notre exemple )

    Voilà donc mon souci que je dois résoudre afin de sécuriser mon serveur. Mais là ça dépasse mes compétences.

    N'hésitez pas à revenir vers moi si je me suis mal fait comprendre.

    Au plaisir de vous lire

    Tof

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Pour le xml, c'est plus compliqué car tout ton fichier xml peut n'avoir qu'une seule ligne, donc tu peux avoir plusieurs fois l’occurrence sur la même ligne.

  3. #3
    Membre confirmé Avatar de Tofdu31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 93
    Par défaut
    J'en doutes pas, c'est pour cela que j'ai posté ici

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Bon, puisque personne ne s'y colle, voici déjà un exemple de modification via perl (pas aussi simple en sed) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo '"password": "admin"<Password">admin</Parameter><AdminPassword>admin</AdminPassword>"password":"admin"password=admin' | perl -pe 's/(password.*?)\badmin\b/${1}12345/ig'
    "password": "12345"<Password">12345</Parameter><AdminPassword>12345</AdminPassword>"password":"12345"password=12345

  5. #5
    Membre confirmé Avatar de Tofdu31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 93
    Par défaut
    Merci de te lancer dans l'opération

    Par contre l'idée premiere serait d'avoir une solution avec perl pour trouver toutes les versions avec 2 conditions (si password et admin existe)
    N'étant pas dans le domaine, ne me tape pas dessus si c'est une grosse bétise

    Suis en train de regarder cette partie : https://www.developpez.net/forums/d2...rs-conditions/

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par Tofdu31 Voir le message
    dans les fichiers de configuration xml ou autres, il y a incrit le pass en dur qui est admin :

    La seconde idée bien-sur serait d'avoir un repérage du mot "password" et de mot "admin" sur la meme ligne, et alors, changer la valeur "admin" en 12345 (pour notre exemple )

    Voilà donc mon souci que je dois résoudre afin de sécuriser mon serveur.
    Je ne comprends pas bien.

    Que ce soit "admin" "12345" ou autre, dans tous les cas, le mdp reste en dur et en clair dans les fichiers, non?

    Je ne vois pas comment tu sécurises ton serveur de cette manière...


    Sinon, plutôt que de faire un traitement "intelligent" ou multi-weapons qui tire dans tous les coins sur tout ce qui bouge et change toutes les possibilités énumérées dans chaque fichier, je préfèrerais:
    - identifier le type du fichier (ce serait pratique si les fichiers xml avaient une extension standard, par exemple, disons ".xml")
    - appliquer une transformation spécifique pour chaque type de fichier

    Imagine par exemple que ton script contienne, en commentaire, les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    # Ce script traite les fichiers qui contiennent l'une des expressions suivantes:
    # password": "admin"
    # <Password">admin</Parameter>
    # <AdminPassword>admin</AdminPassword>
    # "password":"admin"
    # password=admin
    et que ton script repère que ton script contient justement les expressions à transformer...

    Pire encore que juste bousiller les commentaires du script...

    imagine que le code du script contient une instruction comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e 's/password=admin/password=12345/'

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Citation Envoyé par disedorgue
    puisque personne ne s'y colle
    je suis partisan d'utiliser l'outil adéquat pour dévisser une vis cruciforme : un tournevis cruciforme;

    et traiter le xml avec xmlstarlet, xalan, tinyxml, python en employant la librairie ad'hoc...

    EDIT:
    Citation Envoyé par jack-ft
    identifier le type de fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ file catalog.xml
    catalog.xml: XML 1.0 document, ASCII text
    $ mv catalog{.xml,}
    $ file catalog
    catalog: XML 1.0 document, ASCII text
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Membre confirmé Avatar de Tofdu31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 93
    Par défaut
    Merci pour vos retours,

    Effectivement, c'est assez compliqué pour moi
    Bon déja pour information, je travaille sur un produit opensource pour la gestion d'objet connecté : WSO2IOT téléchargeable ici : https://github.com/wso2/product-iots/releases

    Les informations sont bien dans les fichiers .xml

    Du coup,je pense tout d'abord avoir un besoin d'aide et conseil pour solutionner le password en dur dans les fichiers.
    Dans un fichier qui s'appelle api-manager.xml, par contre là, j'ai constaté qu'ils utilisaient une variable à la place qui tape vers la base de donnée H2.
    La variable est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Password>${admin.password}</Password>
    api-manager.xml

    Voilà pour les infos et au plaisir d'avoir, je pense tout d'abord du conseil pour solutionner le mode opératoire de la sécurisation du serveur.

    Merci encore

    Tof

  9. #9
    Membre confirmé Avatar de Tofdu31
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2016
    Messages : 93
    Par défaut
    Comme ma demande différe, je cloture celle-ci et renvoi ici

    https://www.developpez.net/forums/d1...e/#post9575919

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher, rechercher et remplacer dans un fichier
    Par lynal dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2006, 21h24
  2. Recherche Multi-Critères et boutons options
    Par guenfood dans le forum Access
    Réponses: 1
    Dernier message: 04/06/2006, 13h00
  3. Recherche et remplacement d'un caractère dans Word
    Par faiglon dans le forum Access
    Réponses: 3
    Dernier message: 13/02/2006, 14h17
  4. [RegEx] Rechercher et remplacer plusieurs occurences avec expression
    Par nabab dans le forum Langage
    Réponses: 2
    Dernier message: 12/12/2005, 17h12
  5. Réponses: 11
    Dernier message: 01/12/2004, 19h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo