OVH Cloud OVH Cloud

Injecter des data sur une connexion TCP existante

1 réponse
Avatar
Alex
Coucou,

J'ai un petit programme qui discutte avec un serveur et j'aimerai bien
envoyer d'autres infos au serveur via un programme annexe, mais sur la meme
connexion que celle utilisée par le programme source. A pripir, j'ai vu sur
le net qu'on appelle cela de l'injection.

Mais d'apres ce que j'ai compris, des lors qu'une injection de donnée est
réalisée, le serveur balance au client (le vrai) un ack ce qui fou le bordel
car le client (le vrai) n'a rien envoyé. Ainsi, il n'est possible de
n'envoyer qu'une seule série de donnée, ensuite la connexion est fermée.

J'ai cherché un peu mais je n'ai rien trouvé d'autre comme infos, aussi
j'aimerais savoir si des solutions ont été trouvées pour contourner le
probleme. Et si oui, si en plus vous aviez des liens ca me serais tres utile
;)

Merci bcp !

1 réponse

Avatar
Vincent Bernat
OoO En cette nuit nuageuse du samedi 15 juillet 2006, vers 01:44,
"Alex" disait:

J'ai un petit programme qui discutte avec un serveur et j'aimerai bien
envoyer d'autres infos au serveur via un programme annexe, mais sur la meme
connexion que celle utilisée par le programme source. A pripir, j'ai vu sur
le net qu'on appelle cela de l'injection.

Mais d'apres ce que j'ai compris, des lors qu'une injection de donnée est
réalisée, le serveur balance au client (le vrai) un ack ce qui fou le bordel
car le client (le vrai) n'a rien envoyé. Ainsi, il n'est possible de
n'envoyer qu'une seule série de donnée, ensuite la connexion est fermée.

J'ai cherché un peu mais je n'ai rien trouvé d'autre comme infos, aussi
j'aimerais savoir si des solutions ont été trouvées pour contourner le
probleme. Et si oui, si en plus vous aviez des liens ca me serais tres utile
;)


En effet, injecter des données dans une connexion TCP n'a rien
d'évident, surtout si tu veux que par la suite, le client légitime
continue à envoyer des données. Tu pourrais observer la communication
pour en déduire les numéros de séquence pour que ton trafic injecté
soit accepté. Mais tu mettrais hors jeu la client légitime.

Une autre solution plus viable serait d'injecter du code dans le
client légitime pour lui faire envoyer également les données
supplémentaires. Cela n'a rien de trivial cependant.
--
panic("mother...");
2.2.16 /usr/src/linux/drivers/block/cpqarray.c