Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Assembler » debuggen und buffer overflow

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] > 3 <
020
06.12.2004, 09:15 Uhr
virtual
Sexiest Bit alive
(Operator)


@Tim

um zur Problemstellung zurückzukehren: es ist ja nicht nur so, das die Adresse von explode vorherbestimmt ist, sondern eben auch der inhalt von EBP, der auf dem Stack liegt, Ich würde von daher in die Routine reintracen und und rausfinden, welche EBP man den da reinschreiben muß.

Quasi eine eingabe von

C++:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ?? ?? ?? ?? 44 85 04 08


Dabei stehen die "??" für den Wert von EBP.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
06.12.2004, 21:17 Uhr
ao

(Operator)



Zitat von virtual:
Aber wenn ein Bauingenuer nicht in der Lage wäre, diese abstrakten Bezeichnungen konkret auf das Szenario "Sprengstoff" anzuwenden, so hat er den Beruf verfehlt.

Na gut, aber wenn ihm das wichtig ist, soll er das selber rausfinden. Es ist nicht Sache der Uni, den Studenten beizubringen, wie sie ihr Können destruktiv einsetzen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
06.12.2004, 21:46 Uhr
ao

(Operator)



Zitat von typecast:

Zitat:
99 % der Informatiker kommt gut durchs Leben ohne sowas zu wissen

... und schreiben wieder und wieder Software, die massenweise Sicherheitsrelevante Fehler enthaelt.

Das sind doch ganz verschiedene Dinge.

Um Angreifer-Software zu schreiben, musst du wissen, wie man Fremdcode einschleust und zur Ausführung bringt und wie man die Löcher, die andere gelassen haben, findet.

Sichere Software schreibst du, indem du weiter vorn ansetzt und keine Löcher zulässt, d.h. du musst wissen, durch welche Programmierfehler deinerseits die Löcher entstehen und wie du das vermeidest. Das ist ein ganz anderes Ding. Praktische Erfahrung im Schreiben von Exploits bringt dich da kein Stück weiter.

Wenn ein Programmierer Sicherheitslücken produziert, dann nicht, weil er nicht genug Exploits geübt hat, sondern weil er nicht weiß, wo die Schwächen seiner Programmiersprache liegen.

Ein Vergleich aus aktuellem Anlass: Borussia Mönchengladbach hat am Wochenende so richtig die Hucke vollgekriegt, 0:6. Meinst du, der Torwart macht jetzt Stürmertraining, damit er weiß, wie die andern die Tore geschossen haben?

ao

Dieser Post wurde am 06.12.2004 um 21:46 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
06.12.2004, 21:49 Uhr
Spacelord
Hoffnungsloser Fall



Zitat von ao :
Es ist nicht Sache der Uni, den Studenten beizubringen, wie sie ihr Können destruktiv einsetzen.

ao


Hi,
ich hatte vor 2 Semestern nen Kurs "Sicherheit im Internet".Den fand ich sehr entäuschend.
Das hat sich alles auf Computer Bild Niveau bewegt und war viel zu oberflächlich.
Wenn sie dieses und jenes machen wollen,könnte eine fremde Person die Daten verfälschen(wie und warum blieb ungeklärt),also benutzen sie Programm XYZ auf diese Art und Weise.Dann wurden noch nen paar Verschlüsselungsmethoden vorgestellt und das wars.

Das ist meiner Meinung nach nicht unbedingt der "Nährboden" für innovative neue Sicherheitstechnologien.Aber von wem erwartet man denn sowas sonst,wenn nicht von studierten Informatikern?

Ich stimme virtual insoweit zu dass man nicht jedes Sicherheitsproblem todschweigen darf/kann,muss mich allerdings davon distanzieren irgendwelchen (offensichtlichen)Möchtegernvirenprogrammierern bewusst weiterzuhelfen weil es intolerant wäre ihnen Wissen vorzuenthalten.

Ich denke wenn MS nicht regelmässig neu gefundene Sicherheitslücken ins Netz stellen würde(und die meisten werden von MS selbst gefunden) würde es auch weniger Windowsviren geben.Im Regelfall erscheinen nämlich die ersten "passenden" Viren 2-3 Wochen nach der Bekanntgabe des Problems.Wie wäre aber die Reaktion darauf wenn MS die vorhandenen Probleme in Zukunft für sich behält und "heimlich" mit dem nächsten SP beseitigt?Käme mit Sicherheit nicht so gut an....

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 06.12.2004 um 21:50 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
06.12.2004, 22:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


wenn sie es erst bekanntgeben sobald ein patch bzw möglichkeit zum schutz davor vorhanden ist wäre denke ich sinnvoller ...
--
class God : public ChuckNorris { };

Dieser Post wurde am 06.12.2004 um 22:26 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
07.12.2004, 08:25 Uhr
typecast
aka loddab
(Operator)



Zitat von apo:

Das sind doch ganz verschiedene Dinge.

Um Angreifer-Software zu schreiben, musst du wissen, wie man Fremdcode einschleust und zur Ausführung bringt und wie man die Löcher, die andere gelassen haben, findet.



Und genau das ist der Punkt, bei dem ich dir nicht zustimmen kann.


Zitat:

[...], sondern weil er nicht weiß, wo die Schwächen seiner Programmiersprache liegen.



Meiner Meinung nach, ist das der Knackpunkt.
Wie kann ich denn Begreifen, was die Schwaechen sind? Man kann mir vielleicht sagen, WO die Schwaechen liegen.
Das erklaert mir aber nicht [b]WARUM[b] das so ist.
Vielleicht liegt es daran, das ich dumm bin, aber ich kann Fehler erst vermeiden wenn ich weiss, warum das ein Fehler ist.

Mit sowas wie: Du darfst A nicht machen, weil dass eine Sicherheitsluecke ist, die durch die Technik xyz ausgenuetzt werden kann. Darum ersetze einfach A durch B. Warum das so ist, oder wie xyz geht, kann ich dir nicht sagen, da das "boese" ist.

Ich kann dir jetzt schon sagen, dass ich den Fehler A immer wieder machen werde, bis ich begriffen habe warum A ein Fehler ist.

Und das Mittel der Wahl A zu erklaeren ist meiner Ansicht nach aufzuzeigen, wie xyz funktioniert.

Und was noch viel wichtiger ist: Wenn du weisst, was der Grund fuer den Fehler A ist, wirst du dir viel leichter tun einen Fehler C zu erkennen, der einen aehnlichen Grund wie A hat.

Und imho ist das ja wohl das, was man in so einer Informatikerausbildung lernen sollte: Man bekommt einen Sachverhalt A erklaert und kann dann eigenstaendig auf den Sachverhalt B schliessen.


Zitat:

Ein Vergleich aus aktuellem Anlass: Borussia Mönchengladbach hat am Wochenende so richtig die Hucke vollgekriegt, 0:6. Meinst du, der Torwart macht jetzt Stürmertraining, damit er weiß, wie die andern die Tore geschossen haben?



Ich finde das Beispiel ein wenig unpassend.
Der Torwart braucht kein Stuermertraining zu machen (obwohl das sicherlich keine schlechte Idee waere), da er erstens 4-6 Stuermer in der Manschaft hat, die jeden Tag mit ihm ueben.
Zweitens _sieht_ er die gegnerischen Stuermer vor seinem Tor, kann also genau sagen _was_ sie da vor seinem Tor rumspringen und er sieht auch _wie_ sie das machen.

Und genau das siehst du als Softwareentwickler nicht. Um das Beispiel passend zu machen, muesste man vorraussetzen, dass die gegnerischen Stuermer unsichtbar sind und er dann nur irgendwann einen Ball auf sich zufliegen sieht.

In diesem Fall wuerde ich dem Torwart dringend ein Stuermertraining empfehlen, damit er weiss, was die Stuermer da so alles machen.

Das ist meine Meinung dazu.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ Assembler ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: