Bonjour.
Je ne sais pas si quelqu'un pourra me répondre mais voilà je m'intéresse pas mal à la sécurité et pour le moment j'essaye de créer des exploits en C (je sais le faire manuellement sans trop de souci, mais là le but est de créer un programme qui exploite le programme vulnérable (un exploit quoi ). Je précise qu'il s'agit de programme créés par moi même et exploités sur ma propre machine).
Pour un programme dont le texte est passé en argument, pas de souci, je le fais avec la fonction execl(). Par contre dans ce cas ci mon programme vulnérable demande à l'utilisateur d'entrer un message via une fonction de saisie (scanf, gets etc).
Manuellement je procède ainsi:
1 | ./monprogramme <<< AAAAAAAA
|
Je ne suis pas "certain" de cette action mais j'imagine que les données sont insérées dans le flux d'entrée donc scanf n'attend pas que l'utilisateur entre quelque chose vu que des données sont déjà présentes dans le flux.
Mais là je voudrais le faire par le biais d'un programme et non de façon manuelle (l'exploit transmet la chaine au programme vulnérable comme si l'utilisateur l'avait déjà entré).
Alors encore une fois je ne demande pas du tout "comment faire un exploit" ça je sais le faire, ce que je n'arrive pas à faire c'est uniquement ce passage de texte du programme exploit vers le flux d'entrée du programme vulnérable (execl ne permettant que de passer des arguments mais ici c'est inutile).
Merci d'avance.