web-dev-qa-db-fra.com

Quel était le but de cette demande HTTP invalide qui raconte une histoire de chèvres dans l'URI de la demande?

J'exécute actuellement un serveur HTTP Apache et j'ai configuré la surveillance pour recevoir des e-mails chaque fois qu'une erreur apparaît dans les journaux d'erreurs. J'ai l'habitude d'essayer de trouver si j'utilise HTTP 1.0 et d'essayer de voir si j'utilise un logiciel standard comme WordPress qui peut être exploité.

Au cours du week-end, j'ai vu une nouvelle entrée dans mes journaux d'erreurs et je me demandais ce que l'exploitant potentiel essayait de faire (Abcdef est en train de deviner la gestion des exploiteurs (j'ai changé)):

:[DATE] [error] [client XXX.XXX.XXX.XXX] Invalid URI in request HEAD towards the green fields outside. Watch the goats chewing the grass. What is the meaning of life? Life isn't about getting to the end. Goats know this. You should know too. Goats are wise. Goats are cute. Listen to them! This is the message. Love goats, love the Internet! \xf0\x9f\x90\x90 Abcdef. HTTP/1.0

Maintenant, en plus de me parler manifestement de leur amour pour les chèvres, quelqu'un peut-il déterminer quel était le but de cette demande? J'ai essayé de google une partie de la chaîne .. et je me suis retrouvé avec des résultats sur les chèvres!

Je suppose que l'idée était de fournir un URI qui provoquerait un débordement résultant en quelque chose à faire avec l'unicode à la fin, mais je ne suis pas sûr.

NOTE J'ai fait l'hypothèse géante que la demande avait des moyens néfastes en raison des caractères à la fin de la demande, d'où la publication dans Security plutôt que Server Fault .

71
Crazy Dino

Je ne sais pas en quoi consistait la partie REDACTED, mais je peux vous dire que les octets \xf0\x9f\x90\x90 correspond à un photo d'une chèvre en UTF-8 :

C'est ici: ????


Remarque: Sur un coup de tête, j'ai également recherché les Intel opcodes correspondant à ces valeurs d'octets. Ils ne font rien d'intéressant du tout - 0x90 est NOP (ne fait rien), 0x9f est LAHF (charge FLAGS dans le registre AH), et 0xf0 est LOCK (ce qui déclenchera une erreur d'instruction illégale lorsqu'il sera suivi de LAHF).

55
r3mainer

Cela ressemble à la poésie qui était envoyée au Chaos Communications Congress à Hambourg. En particulier, il commence à utiliser le HEAD dans le cadre de la poésie (l'exemple ci-dessous utilise DELETE pour commencer la ligne).

https://nakedsecurity.sophos.com/2016/01/07/millions-of-servers-infected-with-poem-inviting-them-to-jump-in-the-river/

34
nyxgeek

Je viens de trouver la même requête dans mon access.log avec cette URL:

http://massgoat4u.megabrutal.com/

Qu'est-ce que c'est?

Inspiré par # masspoem4u, j'essaie de répéter ce qu'ils ont fait: distribuer une requête HTTP unique à toutes les adresses IPv4 du monde entier.

Comment avez-vous procédé?

J'utilise une version légèrement modifiée du masscan de Robert Graham, tout comme les gars de masspoem4u au CCC. Cependant, je n'ai pas un réseau aussi rapide que le leur, donc mon scan prendra environ une semaine. Vous pouvez trouver un article intéressant de masscan ici.

Cela fait-il du mal?

Bien sûr que non. C'est totalement inoffensif. La seule chose que vous devriez percevoir est le message dans votre journal HTTP. Puisqu'une adresse IP ne reçoit qu'une seule demande et que l'ordre des sondes est aléatoire, cela n'épuise pas vos ressources et ne surcharge pas votre réseau.

Je n'ai rien remarqué d'autre inhabituel, sauf une demande d'une autre adresse IP contenant d'autres octets UTF-8, mais cela peut ne pas être lié.

[XXX.XXX.XXX.XXX] - - [DATE] "\xad\x17\x15\xd2\xf0\xa2y\xec\xc9\xe6\xe2\xe2\xd1\"\xb1\"\x88\x82Ojo\xb8Q\xa0r\xd5\xfe\xe5E\x9a\x01\xfcf\x18\xff\x9d\x05\x1dh\xa1\xc61\xea;\x04F\x8b\xb1SgEhGk\x86&\x93b<O" 200 11899 "-" "-"

4
Superslinky