Netcat sécurisé
sispheor
Messages postés
44
Date d'inscription
Statut
Membre
Dernière intervention
-
sispheor Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
sispheor Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Comment empêcher le serveur d'interpréter les commandes netcat d'un client?
Explication:
Le client envoi son nom machine (commande hostname au serveur). Celui ci verifie que cette machine est bien dans une liste des postes et affiche un message.
cela fonctionne très bien seulement si le poste client envois une commande au serveur celui ci va l'interpréter. Genre supprimer ou faire n'importe quoi. C'est pas très propre comme modèle de client / serveur vous avouerez ;)
Voila la commande lancé sur le client : hostname | nc localhost 8888
La commande lancé sur le serveur pour écouter sur un port et envoyer les paquets au script: nc -lk 8888 | bash /test.sh
Et bien sur le script test.sh:
while read client
do
if grep $client /list #si il trouve la machine dans la liste
then
echo "Poste présent dans la liste"
else
echo "Ordinateur non présent"
fi
done
exit 0
Voilou!
En gros si le client envois ifconfig | nc localhost 8888 le serveur va bien afficher "Ordinateur non présent" mais va aussi afficher ses config d'interface :P.
Alors je suis un peu débutant dans l'univers linux. Peut être il existe un autre moyen de faire du client / serveur. Je n'ai trouvé que netcat sur le net..
Comment empêcher le serveur d'interpréter les commandes netcat d'un client?
Explication:
Le client envoi son nom machine (commande hostname au serveur). Celui ci verifie que cette machine est bien dans une liste des postes et affiche un message.
cela fonctionne très bien seulement si le poste client envois une commande au serveur celui ci va l'interpréter. Genre supprimer ou faire n'importe quoi. C'est pas très propre comme modèle de client / serveur vous avouerez ;)
Voila la commande lancé sur le client : hostname | nc localhost 8888
La commande lancé sur le serveur pour écouter sur un port et envoyer les paquets au script: nc -lk 8888 | bash /test.sh
Et bien sur le script test.sh:
while read client
do
if grep $client /list #si il trouve la machine dans la liste
then
echo "Poste présent dans la liste"
else
echo "Ordinateur non présent"
fi
done
exit 0
Voilou!
En gros si le client envois ifconfig | nc localhost 8888 le serveur va bien afficher "Ordinateur non présent" mais va aussi afficher ses config d'interface :P.
Alors je suis un peu débutant dans l'univers linux. Peut être il existe un autre moyen de faire du client / serveur. Je n'ai trouvé que netcat sur le net..