Startseite > Archiv > Windows Buffer-Overflows

Windows Buffer-Overflows

dotnetpro 11/2005 Von James C. Foster erschienen in dotnetpro 11/2005 auf Seite 116
Code:
Keine Bewertung

Pufferüberlauf leicht gemacht Das Szenario ist simpel: Ein Programm schreibt eine größere Datenmenge an eine Stelle im Speicher, als der Entwickler vorgesehen hat. In der Praxis geschieht das häufig in Variablen, die auf dem Puffer liegen. In dem exklusiv dotnetpro zur Verfügung gestellten Kapitel 8 aus dem Buch „Buffer Overflows“ erklärt Autor James C. Foster, wie einfach das unter Windows geht.

Artikel Download

Als Abonnent können Sie den gesamten Artikel als PDF abrufen und die zugehörigen Quelltexte direkt downloaden.

Sie sind bereits Abonnent? Dann registrieren Sie Ihr Abonnement jetzt online und greifen Sie sofort auf das komplette Artikelarchiv zu.

Einzelheft-Bestellung

Sie interessieren sich für diesen Artikel und haben noch kein Abonnement? Dann bestellen Sie doch einfach diese Ausgabe der dotnetpro als Einzelheft.

Abo-Bestellung

Probeabo
Wenn Sie die dotnetpro kennenlernen wollen, ist das Probeabo genau richtig für Sie. Lesen Sie die aktuelle sowie die kommende Ausgabe zu einem besonders günstigen Preis.








Abo
Wenn Sie die neue Ausgabe der dotnetpro als Erster lesen wollen, dann liegen Sie mit einem Abo genau richtig – zwölf Mal pro Jahr druckfrisch in Ihrem Briefkasten und das noch bevor das Heft am Kiosk erhältlich ist.

Sie finden diesen Artikel interessant? Dann helfen Sie anderen ihn zu finden und kicken Sie ihn bei www.dotnet-kicks.de!

Tags

__chkesp   _main   00001BE6   000082C2   0000D52C   0001105F   00012ADA   00017562   00017C4C   00038BD8   00039607   00039959   00052E72   00057FBD   000582DC   00058E09   0005BC0C   0005D843   0005EFF4   0005FBA2   00066745   0012FF80   00401005   0040100A   0040100F   00401028   00401030   00401039   00401045   00401060   0040106A   00401080   004010BC   004010d0   0040113B   0040B4C868FFE0F505push5F5E0FFh   0040B4CDB8E61BE677moveax   0040B4D2FFD0calleaxAdresseOpcodeAssembler   004241f8   0CCCCCCCCh   0x00001BE6   0x0012000A   0x0040100f   0x00401309   0x4444444   0x44444444   0x45454545   0x77E60000   0x77E61BE6   1000   100040B4B7   10opcode   10printf   110040B4B8   116_Overflow_tib_ws_kf_ws06   11611   11811   11char   11opcode   120040B4B9   12011   12211   12push   12strcpy   130040B4BC   13mov   13return   140040B4C1   14call   150040B4C6   1577   170040B4C8   180040B4CA   190040B4CF   1986   1992   1998   19int   1A241   1Hintergrund   1push   200040B4D5   2001   2005117geschrieben   2005119   2005121   200513   2005www   210040B4D7   210E   21printf   2210   22exit   230040B4DC   240040B4DD   250040B4DE   25int   260040B4DF   270040B4E2   27if   280040B4E4   290040B4E9   29printf   2GrundlegendeStack   2mov   300040B4EB   30printf   310040B4EC   32Euro   32exit   35printf   37copy   38return   3B7DDFD8   3B7DFE0E   3call   3Windows   44444444   4545454   47474747   5char   5F5E0FFh   5void   60040B4B0   6DE00   6void   70040B4B1   71000   74800   77E60000   77E61BE6h   7Sleep   7void   80040B4B3   8168   8266   8char   8void   9__asm   90040B4B6   99999999   9int   9strcpy   aaaa   AAAAABBBBBCCCCCDDDDDEEEE   AAAABBBBCCCCDDDD   AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH   AABBBBCCCCDDDDEEEEFFFFGGGGHH   Abbild   Abbildung   Abbildung8   aber   abgelaufen   ablaufen   Abschnitt   Absturz   ActivateActCtx   AddAtomA   Address   Administra   Administrator   AdminsundProgrammierer   Adres   Adresse   AdressederaktuellenAnweisung   AdressederaktuellenAnweisung00401039   AdressederaktuellenAnweisung00401045   AdressederAnweisungWertdesRegisters   Adressen   ähneln   ähnliche   Aktion   aktivieren   aktiviert   Aktivierung   aktuelle   aktuellen   AktuellerEBP   Alarmieren   Aleph   Alignment   AlldiesenAngriffenliegenBuffer   alle   Alles   allozierten   alsderEntwicklervorgesehenhat   also   Analyse   analysieren   andere   anderen   anderenfalls   Ändern   andersiegeladensindBeispiel   anfangen   ange   angehende   angezeigt   angreifbare   angreifen   Angriff   Angriffe   Angriffen   Angriffs   anhält   anschließend   ansehen   anwei   Anweisung   Anweisungen   Anwendung   Anzahl   anzugreifen   Appli   Applika   Applikation   Applikationen   appName   äquivalenten   argc   Argu   argument   Argumente   arguments   argv   Arrays   Artikeln   Assem   Assembler   auch   Aufbau   aufdemPufferliegen   aufge   aufgeru   aufgerufen   aufzurufen   Ausbau   Ausfüh   ausführen   Ausführung   Ausführungsfluss   Ausführungvonretüberschrieben   Ausgabe   Ausgaben   ausge   ausgeführt   ausgeführten   ausgege   ausgegeben   außer   Außerdem   außerhalb   auszuführen   Autor   base   Basic   basichacked   Basisadresse   Basiszeigers   BBBBCCCCDDDDEEEEFFFFGGGGHHH   beachten   been   Beenden   beendet   befassen   Befehl   Befehle   Befehlszeile   Befehlszeilenargu   Befehlszeilenargument   beginnt   Beide   beiden   BeimAb   Beispiel   Beispielen   bemühen   bemüht   benötigen   Bereich   bereit   bereits   berühmtesten   besprochen   besser   betreffen   betrifft   betroffenen   Bevor   bezeichnet   bieten   bilden   Bildschirmausgabe   bildung   Binary   binden   Blaster   blättern   Bleibt   bler   blercode   Breakpoint   bringen   Browsen   BrowsendesdisassembliertenCodes   Browser   Buchstaben   buffer   BufferOverflows   byte   Bytes   call   Callstack   cert   char   characteristics   Charvar   chen   cher   chers   cherstellen   cherten   chertenEIPundEBP   ckelt   cken   Click   Code   CodeinAssembler   COFF   Computer   Contains   Copy   Copyright   Corp   dabei   daher   damit   dann   dargestellt   dass   dassichausschließlichder   DasSystemschlafenschicken   DasSzenarioistsimpel   DasVisual   data   Date   Daten   DatenbytesNach   Datentypen   davon   dazu   dddd   de11   DEBUG   definier   definiert   deklariert   demBuch   demEintrittin   Denial   derAngriffsvorbereitung   deren   dergespeicher   DerOpcodeunddiepassendenAssembler   dessen   detection   Dezimal   Dialogbox   dieeswerdenoderzumindestausprobierenwollen   dieFunktion   dieHexdarstellungfür   dieihreAppli   DieKontrolleüberEIPergreifen   diese   diesem   diesen   dieser   dieses   dieseWerte   dieüberdiebeliebtestenTechnikenihresGegners   Dildogs   disas   disassemblierten   DISASSEMBLY   dotnetpro   drei   Dreizeiler   drücken   dule   Dump   dumpbin   Dumper   durch   durchführt   durchgeführt   DWORD   ebenfalls   EBPfürmainund   EBPwirdbeider   EEEE   eEye   eige   eigenem   eigenen   eigentlich   eigentlichen   eignet   EinBuch   eine   einem   einen   eineOption   einer   eines   einfach   einfache   einfachen   Eingabeaufforderung   EingabezeilesichAdministratorrechteinfremdenSystemenerschleichen   eingebauten   eingesetzt   eingeteiltworden   einige   EinProgrammschreibteinegrößereDatenmengeaneineStelleim   Einschleusen   einset   Eintritt   Eintrittspunkt   einzeln   einzige   einzu   einzufüllen   Emergency   empfängt   Ende   Endergebnis   endet   endetdasProgrammnormal   ends   entdecken   EntdeckenSiedieSchwachstellenvonServersoftware   entdeckt   Entercept   entfernt   enthält   entry   enttarnt   entweder   entwi   Entwickler   Entwicklungsumgebun   Entwicklungsumgebungen   Epilog   Epilogs   erfahren   ErfahrenSiemehrüberdiebeiHackernbeliebteste   Erfahrung   erfolgreichmit   Ergebnis   Ergebnisse   erken   erkennen   erklärtAutorJamesC   ermitteln   erste   erstellen   erstellt   ersten   Erster   Erstes   erzeugen   erzwingt   etwa   etwas   Example   Executable   Exit   Export   Exports   Fall   fangenen   fassen   Fast   Features   fehlenden   Fehlermeldung   Fenster   fertigem   fester   FFFFEBP   File   finden   Findet   flow   flows   Folge   folgen   folgende   following   Format   formatierten   Formatstring   FormdesAngriffsbzw   Foster   FostergiltalsabsoluterExperteinSachenHacking   FosterzeigtindiesemBuch   found   Frame   Frames   führen   führt   führte   Function   Functions   Funk   funktio   Funktion   Funktionen   funktionieren   funktioniert   Funktionsadres   Funktionsblock   funktionsfähige   fürs   gabe   gaben   geändert   geben   gebildet   gebnisse   Gefecht   Gegensatz   gehen   gehörten   geladen   geladenen   gelernt   gelesen   gelingen   genannt   genau   Genauer   gende   genden   gerade   gerne   gesamte   geschoben   geschrieben   gesehen   gesetzt   gespei   gespeichert   gespeicherten   GGGG   gibt   gisternach   Glas   gleiche   gleichen   gramm   grammieren   greifen   Grenze   Grenzen   griff   griffe   griffscode   grob   Größe   großen   größer   größerenStringversuchen   Grundkenntnisse   Grundlagen   grundle   grundlegend   Gruppen   haben   hacked   Hacker   Hackerunddie   halb   halten   Hand   handelt   hangeln   Haube   Header   Heap   heitslücken   helfenkönnen   herauszubekommen   here   hergehenden   hexadezimale   hexadezimalenWerte   Hexadresse   Hexwert   Highlights   HIIIIJJJJKKKKLLLL   Hilfe   hilft   hinaus   Hint   Hinter   Höhe   i386   Ignorie   Ihnen   image   Imagebasisadresse   Imagebasisspei   Include   indem   IndemexklusivdotnetprozurVerfügunggestelltenKapitel8aus   InderPraxisgeschiehtdashäufiginVariablen   indirekt   Informationen   informiertseinwollen   Inhalt   initialized   inner   innerhalb   input   InsiderwissenfürHacker   installiert   Instruction   integraler   interessieren   interface   Internet   Intrusion   inzwischen   irgendwie   ISBN   JamesC   Java   Jede   jedoch   Jenseits   jetzt   kann   kannzumBeispielübereinegeschickteEingabeindie   Kapitel   Kapiteln   Kategorien   kationen   kationengegenBuffer   kehren   keine   kennen   Kenntnisse   kernel32   KERNEL32_NULL_THUNK_DATA   KlassevonAngriffstechnikenwidmet   Klicken   kompi   kompilierte   Kompilierung   können   Konsole   Konsolenanwendung   Konsolenapplikation   Kontextmenü   Kontrolle   Konvertie   KonvertierunginshexadezimaleFormat   Konzepte   kopieren   kopiert   Korrumpiert   laden   lang   lange   Länge   lassen   laufen   läuft   lernen   letzten   letzter   lich   lichkeiten   liefert   liert   Line   Linie   Linker   Linux   Liste   ListederModuleundBasis   Listener   Location   machine   Magic   Main   Managements   Mancher   mandem   manipuliert   Maustaste   McAfee   mehr   meinsam   Memory   Menge   ment   mente   Menu   Menü   Menüs   merisch   Methode   Methoden   Microsoft   militärischen   Millionen   Millisekunden   mithilfe   Mitteln   moderne   modifiziert   modifizierten   modifizierteWertedergespei   ModName   Module   modules   ModVer   Morris   müssen   müssenwir   nach   nachdem   nächsteAbbildung8   Name   Namen   Names   NASA   Neben   nel32   netcat   Netzwerk   neue   neueren   nicht   nichts   nimmt   nirgends   Nish   noch   normalerweise   Number   Numbers   nutzen   nützlich   nützliche   nützlicher   nutzt   oben   obigen   obwohl   oder   Öffentlichkeit   offset   Offsets   Ollydbg   Ones   Opcode   OPCodes   Operating   Operation   Operationscode   Option   optional   Ordinal   Organisa   over   overflow   Overflows   Overflowsabsichernwollen   Overflowsunter   paar   Pack   passenden   passiert   payload   Perl   Pfad   Pfads   piertwird   Plausibilitätsprüfung   Plus   Point   Pointer   Ports   Preis   Print   printf   Problem   Profit   Program   Programm   Programme   Programmier   Programmieren   Programmierung   ProgrammierungetwasverstehtundServersoft   ProgrammierungundAssembler   Programmnichtabstürzt   Programms   Project   Prolog   provoziert   Prozent   prüfungen   Puffer   Puffers   Pufferüberlaufleichtgemacht   Push   pusht   Quell   rechten   Referenz   Regierungsbehör   Register   Registern   Registers   Reihen   reits   remote   reserved   Respon   rights   ruft   rungszeiger   Sachen   Schaden   schickt   schlafen   schleusen   schon   schreiben   Schreiboperation   schreibt   schrieben   Schritt   schrittweise   Schwachstellen   Script   Section   sections   securitycompass   sehen   sein   selbst   selten   semblierten   Server   Service   Settings   SetupComm   SetVDMCurrentDirectories   SetVolumeLabelA   SetVolumeLabelW   SetVolumeMountPointA   SetVolumeMountPointW   SetWaitableTimer   setzen   setzt   Shellcode   Shellcodepro   Shellcodes   Should   ShowConsoleCursor   sich   sicher   Sicherheitslü   Sicherheitslücken   sicherzuge   siehe   sieht   SignalObjectAndWait   Signature   sind   sindgültig   sinnvolle   Size   SizeofResource   Sleep   sleepasm   SleepEx   sleepop   Smashing   Sobald   sodass   sodassdas   sofern   soft   Software   solche   solchen   Sollte   sollten   sowie   sowohl   später   spei   Speicher   Speicheradresse   Speicheradressen   Speicherbereich   Speicherplatz   Speicherplatzes   Speicherraum   Speichers   Speicherstelle   speichert   speicherten   Speicherung   spiel8   sprachen   springt   sprintf   Sprung   SQLSlammer   Stack   stamp   Standardfunktion   Starts   Statt   Status   StatusderRegisterunddesSpeichers   StatusdesStacks   stdafx   stdlib   stehen   steht   Stelle   stellen   steuern   stos   strcpy   string   Strings   stripped   Studio   sturzderAnwendung   sung   sungen   SuspendThread   SwitchToFiber   SwitchToThread   symbol   Symbols   system   System32   Systeme   Systemfehler   SystemTimeToFileTime   SystemTimeToTzSpecificLocalTime   Tabelle   table   tails   Taste   tatsächliche   Team   Technikenzugrunde   Teil   temporären   tenEBPundEIPBeispiel   tervordemEin   Tested   Time   tion   tioncopy   tionen   Tipp   Tool   toren   Traffics   Tritt   trittindieFunk   type   über   Übergabe   übergeben   übergeordneten   übergibt   überlaufen   überneh   übernehmen   überreden   überschreiben   überschreibt   überschreiten   überschrie   überschrieben   überschriebener   überschriebenerEIP   übung   UhrSeite   umgeleitet   unautorisierter   undAssembler   unddie   undEBP   undIloveYou   undvondaausgehendganzefremdeNetzwerkefürseineZweckenutzen   ungültige   uninitialized   Universitäten   unknown   unser   unserer   unseres   unten   unter   unterbinden   Unterhalb   Unternehmen   unterscheiden   untersuchen   unverändert   usage   Utility   VALUES   Varia   Variable   Variablen   Variablevar   vention   verknüpft   Verknüpfung   veröffentlicht   verschiebt   verschiedene   versehen   Version   verstehen   Versuchen   verursachen   verursacht   verwendet   viele   Vielfalt   Vierergruppen   View   vilegien   virtueller   Visu   Visual   void   voll   voraus   vorgesehene   vorgesehenen   vorhandenen   vorher   vorhergehenden   vorherigen   vorige   Vorteil   wächst   wählen   Während   ware   waren   warevoninnenherkennt   Wasser   wegen   weisung   weisungen   weiter   weitere   welcher   welches   well   wenden   Wenn   wenndieFunktionzumain   WenneinkleinererStringinvarko   werden   werdenseinBuchmitgroßemInteresselesen   Wert   WertderRe   WertderRegis   Werte   WertederaufdemStackgespei   WertevonEIP   WervonC   wieBufferOverflows   wieder   wieeinfachdasunterWindowsgeht   WINDOWS   WindowsBuffer   wird   wirdeineFehlermeldung   Wissen   wogegen   Wollen   Word   work   worten   written   wurde   wurden   wurm   YAHPAD   YAHXZ   zehn   Zeichen   zeigen   zeigt   Zeile   Zeile7   Zeilen   Zeit   Ziel   Zielgruppe   Zielpuffer   Zielvariable   ziemlich   zugewiesen   Zugriff   zuletzt   zumBeispielAAAABBBB   zurück   zurückkehrt   Zusammengefasstwird   zusätzliche   zusätzlichen   Zwar   Zweck   zwei   zwingen   zwischen

Login
Sie sind nicht eingeloggt.

Login & Registrierung
Abo bestellen





Anzeige





Newsletter
Tragen Sie Ihre E-Mailadresse für den kostenlosen Newsletter von dotnetpro ein.


Umfrage
Wie zufrieden sind Sie mit Ihrem Gehalt?




Ergebnis anzeigen