Pages : 1
#1 Le 05/03/2008, à 00:58
- kataklysm
problem de script bash sous netcat
bonjours,
j'essait de créé un script bash pour faire marché avec netcat.
#!/bin/bash
#test
clear
echo
echo "#################### Test ############################"
echo
echo "#########################################################"
echo
echo -n LOGIN:
read login
echo -n PASS:
read pass
echo
echo "#########################################################"
echo
while [ "$login" != "root" ] && [ "$pass" != "toor" ]; do
echo " Bad login or password , try again"
echo -n LOGIN:
read login
echo -n PASS:
read pass
echo
echo "#########################################################"
echo
done
echo
echo " Login successful with $login"
echo
echo " ### For Help Type Help ###"
echo
Quand j'exécute en console,il marche tres bien.
Mais quand je l'execute avec netcat,il me renvoit toujours "Bad login or password , try again"
alors que j'ai écrit le bon pass.
j'execute le serveur netcat de la sorte:
sudo netcat -l -p 23 -c /home/user/test
et pour le client j'utilise telnet
Quelqu'un orais une idée de ce qui fait erreur???
merci!
Hors ligne
#2 Le 05/03/2008, à 04:19
- kataklysm
Re : problem de script bash sous netcat
j'ai trouvé une parti du problem,
j'ai fait des test avec netcat en serveur et sa marche tres bien.
donc je pence que c'est parce que quand je rentre une donné sur telnet,telnet renvoit D'autre donné avec.donc au lieu que la variable soit root elle est root+"enter"(en hexa=0a)
connaissé vous un moyen pour enlever "enter" de la variable?
merci!
Dernière modification par kataklysm (Le 09/03/2008, à 18:18)
Hors ligne
#3 Le 06/03/2008, à 18:01
- kataklysm
Re : problem de script bash sous netcat
Up!
Hors ligne
#4 Le 09/03/2008, à 18:17
- kataklysm
Re : problem de script bash sous netcat
up!
Hors ligne
#5 Le 10/03/2008, à 20:30
- Saito
Re : problem de script bash sous netcat
Bonsoir,
si tu es sûr de n'utiliser que telnet en tant que client, tu peux modifier ton test comme cela:
while [ "${login%?}" != "root" ] && [ "${pass%?}" != "toor" ]; do
Ainsi, on teste sur la chaîne moins son dernier caractère (qui est bien un LineFeed comme tu l'as dit au dessus). Le seul soucis c'est que si tu veux aussi utiliser netcat comme client, cela ne marchera pas.
PS: c'est pas trés beau ni efficace d'utiliser autant la commande 'echo', tu peux par exemple les remplacer par un here-document (mais ce n'est pas obligatoire) comme ceci:
#!/bin/bash
clear
cat <<EOF
#################### Test ############################
#########################################################
EOF
read -p 'LOGIN:' login
read -p PASS:' pass
cat <<EOF
#########################################################
EOF
Dernière modification par Saito (Le 10/03/2008, à 23:30)
Aku-Soku-Zan_Shinsengumi
Hors ligne