Il semble que cela envoie juste un ping, mais quel est le point de cela quand vous pouvez simplement utiliser ping?que fait ce code de cheval de Troie?
/* WARNING: this is someone's attempt at writing a malware trojan. Do not
compile and *definitely* don't install. I added an exit as the
first line to avoid mishaps - msw */
int main (int argc, char *argv[])
{
exit(1);
unsigned int pid = 0;
char buffer[2];
char *args[] = {
"/bin/ping",
"-c",
"5",
NULL,
NULL
};
if (argc != 2)
return 0;
args[3] = strdup(argv[1]);
for (;;)
{
gets(buffer); /* FTW */
if (buffer[0] == 0x6e)
break;
switch (pid = fork())
{
case -1:
printf("Error Forking\n");
exit(255);
case 0:
execvp(args[0], args);
exit(1);
default:
break;
}
}
return 255;
}
Je ne vois pas comment compiler et exécuter cela pourrait gâcher votre ordinateur, aussi longtemps que vous l'utilisez en toute sécurité. De ce que je rassemble après avoir regardé plus si vous lui passez une adresse IP, il va ping plusieurs fois chaque fois que vous appuyez sur Entrée jusqu'à ce que votre prochaine entrée est 'n' – user318747
La clé est ce qui arrive au stockage utilisé par args quand vous tapez des chaînes de longueur arbitraires dans le tampon. Comme je l'ai écrit, ce n'est pas un bon hack, mais c'est une tentative et cela ne vous mordra probablement pas car la plupart des gens ne tapent pas au ping. Mais il y a peut-être un exploit sur une version particulière de ping say sous cygwin, avoir ce binaire autour du ping nommé pourrait être un vecteur pour une attaque. Peu probable, mais quelqu'un a écrit ce code avec intention, peut-être qu'il connaît un trou que vous n'avez pas. – msw
Oh, et comme ce code n'a aucun mérite inhérent, il y a encore moins de raisons de le construire/exécuter/installer. – msw