.net Vulnerabillity

Diskutiere .net Vulnerabillity im Programmierung Forum im Bereich Software Forum; Hallo, Bin gerade auf ne Schwachstelle von .net gestoßen, während ich was am Coden war. Es handelt sich um einen StackOverflow: private void...
U

Ubuntu

Threadstarter
Dabei seit
11.02.2010
Beiträge
27
Hallo,

Bin gerade auf ne Schwachstelle von .net gestoßen, während ich was am Coden war.

Es handelt sich um einen StackOverflow:
Code:
 private void main_FormClosed(object sender, FormClosedEventArgs e)
        {
this.Close();
}
Wäre cool wenn das ein paar von euch nachvollziehen könnten, und dann bestätigen?

Fehler wäre:
StackOverflow Exception was unhandled:
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
sonst könnt ihr das gerne M$ melden, bin zu faul dazu ;)

wäre cool wenn das ein paar probieren und bestätigen. thx!
 
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
Tut mir leid, aber diesen Fehler kannst du in JEDER Programmiersprache erzeugen. Es handelt sich hierbei um keine Schwachstelle sondern um einen Programmierfehler. ;)

Du rufst hier eine Methode rekursiv auf und das unendlich oft, was dazu führt, dass der Call-Stack deiner Anwendung überläuft. Der Stack ist ja kein unendlich großer Speicher und sehr schnell voll.

This.Close() führt nämlich zur Auslösung aller Methoden, die mit dem Ereignis Form.Closed() verbunden sind. In diesem Fall ist es deine main_FormClosed()-Methode. In dieser rufst du indirekt deine Methode immer und immer wieder über dieses Ereignis auf.

...mal davon abgesehen, dass es unsinnig ist, eine Form die meldet, dass sie bereits geschlossen ist, nochmal zu schließen. :p
 
U

Ubuntu

Threadstarter
Dabei seit
11.02.2010
Beiträge
27
Das ist mir natürlich klar, aber sowas gehört doch Microsoft mitgeteilt?

Ich denke, die setzten alles daran um die .net Sprache gegen solche Dinge abzusichern?

Ist klar das es zu einem StackOv. führt wenn ich x mal die selbe Methode calle, dachte nur dass man sowas vielleicht Microsoft mitteilt?
 
DiableNoir

DiableNoir

Dabei seit
18.01.2004
Beiträge
6.069
@Ubuntu:
Also den Leuten bei Microsoft ist das ganz bestimmt bekannt. Was es damit auf sich hat, lernt eigentlich jeder Programmierer während seiner Ausbildung. Dieser Programmierfehler lässt sich in jeder Sprache erzeugen.

Außerdem ist es ja nicht .NET, dass da einen Fehler erzeugt, sondern DEIN Programm. ;)

Die .NET-Sprachen nehmen einem Programmierer zwar sehr viel ab, aber was soll es den deiner Meinung nach tun, wenn du mehr Speicher anforderst, als das System zur Verfügung stellt? Dein Code würde ja noch unendlich lange laufen. Deshalb wird eine Exception (Ausnahme) ausgelöst, die dein Programm aber nicht behandelt, deshalb stürzt dein Programm ab.

Beim Kompilieren lässt sich so etwas auch nicht erkennen. Da müsste man schon Rekursionen verbieten und das wäre praktisch ein Todesstoß für eine Programmiersprache, da es viele Algorithmen gibt, die auf das Prinzip der endlichen (!) Rekursion aufbauen.
 
H

HWFlo

Dabei seit
04.09.2005
Beiträge
5.271
Alter
32
Sie tatsache das eine Exception ausgelöst wird und der Stack nicht weiter in den Speicher schreibt zeigt ja gerade das hier "mitgedacht" wurde ;)
 
Thema:

.net Vulnerabillity

.net Vulnerabillity - Ähnliche Themen

  • KB4562900 Kumulatives Update Preview für .NET wurde installiert ohne das ich es wollte

    KB4562900 Kumulatives Update Preview für .NET wurde installiert ohne das ich es wollte: Hallo, auf meinem Rechner wurde das o.g. Preview Update automatisch installiert. Ich gehe davon aus, das man bei optionalen Updates vorher...
  • Automatisches Update "Microsoft .NET Framework 4.8 für Windows 10 Version 1803 für x64 (KB4486153)" hängt seit Stunden bei 74% der Installation

    Automatisches Update "Microsoft .NET Framework 4.8 für Windows 10 Version 1803 für x64 (KB4486153)" hängt seit Stunden bei 74% der Installation: Es geht NICHT um das Upgrade von einer älteren Windows-Version auf Win 10! Ich setze gerade ein neues Notebook von MSI auf und habe die...
  • net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*

    net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*: Problem: Bei einer WebDav-Anmeldung über den Windows-Explorer kam plötzlich immer die Meldung Server nicht gefunden. Auch über nslookup war der...
  • Installation der Exchange Management Console auf Windows 10 schlägt wegen scheinbar fehlendem .net framework 4.8 fehl

    Installation der Exchange Management Console auf Windows 10 schlägt wegen scheinbar fehlendem .net framework 4.8 fehl: Hallo zusammen, auf einem Windows 10 System mit Build 1909, Updates komplett aktuell, möchte ich die Exchange Management Console 2016 CU16...
  • Ähnliche Themen
  • KB4562900 Kumulatives Update Preview für .NET wurde installiert ohne das ich es wollte

    KB4562900 Kumulatives Update Preview für .NET wurde installiert ohne das ich es wollte: Hallo, auf meinem Rechner wurde das o.g. Preview Update automatisch installiert. Ich gehe davon aus, das man bei optionalen Updates vorher...
  • Automatisches Update "Microsoft .NET Framework 4.8 für Windows 10 Version 1803 für x64 (KB4486153)" hängt seit Stunden bei 74% der Installation

    Automatisches Update "Microsoft .NET Framework 4.8 für Windows 10 Version 1803 für x64 (KB4486153)" hängt seit Stunden bei 74% der Installation: Es geht NICHT um das Upgrade von einer älteren Windows-Version auf Win 10! Ich setze gerade ein neues Notebook von MSI auf und habe die...
  • net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*

    net use webdav Systemfehler 67 - Webdav-Anmeldung nicht möglich, Pfad nicht erkannt *GELÖST*: Problem: Bei einer WebDav-Anmeldung über den Windows-Explorer kam plötzlich immer die Meldung Server nicht gefunden. Auch über nslookup war der...
  • Installation der Exchange Management Console auf Windows 10 schlägt wegen scheinbar fehlendem .net framework 4.8 fehl

    Installation der Exchange Management Console auf Windows 10 schlägt wegen scheinbar fehlendem .net framework 4.8 fehl: Hallo zusammen, auf einem Windows 10 System mit Build 1909, Updates komplett aktuell, möchte ich die Exchange Management Console 2016 CU16...
  • Oben