exploits? |
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
|
|
exploits? |
|
Also was genau ist ein Exploit oder auch Buffer Overflow gennant?? Was bringt der bzw. wie erkennt man einen solchen? Wie nutzt man sowas aus? (ist nur aus reiner neugier nicht für ögendwelche zwecke!!!!)
Wie beseitigt man sowas? Ist das ein Programmierfehler? Wie passieren solche bzw. wie enstehen die? Thx im voraus
FaLLeN
P.S: Keine Links plz (wenn nur gute
)
[wenn das thema schon öfter vorgekommen ist entschuldige ich mich das ich es noma erwähnt hab
]
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
15.10.2003 14:44 |
|
|
TheG
Aufsteiger
Dabei seit: 11.07.2003
Beiträge: 51
Herkunft: Hessen
|
|
Zitat: |
[wenn das thema schon öfter vorgekommen ist entschuldige ich mich das ich es noma erwähnt hab ] |
Wie hast du die Suchfunktion noch net benutzt??
Gruss TheG
__________________ Umso mehr ich weiß, desto mehr weiß ich, dass ich nichts weiß!
|
|
15.10.2003 15:06 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
Zitat: |
Original von ThE_FaLLeN
Ich blick durch die Infos die da kommen net richtig durch bzw. eigentlich kommt nix vernünftiges (was mir weiterhilft)
greetz FaLLeN |
Das muss nicht jeder wissen, es lässt sich auch gut ohne exploids leben.
Im übrigen ist da noch nie was gutes rausgekommen...
Devil
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
15.10.2003 15:40 |
|
|
Crack02
Das einsame Nichts
Dabei seit: 29.06.2002
Beiträge: 152
|
|
ich finds witzig, da kann man lustige sachen mit machen
z.B.
__________________ Signatur?
|
|
15.10.2003 15:46 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
devil wenn ich sage das ich es aus reiner neugir wissen will bzw. nix damit vor hab dan mein ich das auch!! ich bin kein dummer scriptkid der sein "wissen" zum kaputtmachen benutzt, nur ich will z.b. mein wissen insoweit aufbessern damit ich z.b. auch weíß was man gegen exploits machen kann..
P.S: Der screenshot bringt mich scho weiter, jedoch kannst vielleicht noma erklären was du da genau gemacht hast? (für mich siehts so aus als ob du durch nen fehler in der software was umgeschrieben hast!; aber wie ginge sowas den mit ner website? ich mein man muss doch ögendwas haben um diese exploits auszunutzen!; bzw. was ist das eigentlich fürn programm das du da hast? selbergeschrieben?
)
greetz FaLLeN
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
15.10.2003 16:16 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
http://bb.ups-site.de/thread.php?threadi...ilightuser=4374
http://bb.ups-site.de/thread.php?threadi...ilightuser=4374
da steht auf jeden fall was, compuholic hat in einem der Threads es ausführlich erklärt, was es ist... vollständig verstehtn kann man es aber nur, wenn man selber programmiert
(zum benutzen muss man nix können - nur den exploit kopieren)... an sich ist ist exploit=ausnutzung (laut wörterbuch).dabei handelt es sich um ausnutzung eines Programmierer/Compilerfehlers, dass zum beispiel beim einlesen die Länge nicht überprüft wird und somit variablen und rücksprungsadressen überschrieben werden und man damit seinen Code ausführen kann ... aber lies es dir am besten durch und frag dann, was du nicht verstanden hast... außerdem kennt man deinen wissenstand nicht (damit man auch die erklärung versändlich fassen kann
)
Ich find an sich aus reiner neugierde ist es nix schlimmes...
siehe den Thread mit dem Hackit...
@all: achtet auf das Bild, was für ein Standardbrowser und Einwahlsoftware werden da angezeigt ?
PS: die boardsoftware ist etwas nervig - wegen dem Bild ist der ganze text auseinander gezogen, so dass ich jetz die ganze zeit horizontal scrollen muss
|
|
15.10.2003 16:53 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
|
15.10.2003 17:24 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
http://www.heise.de/security/artikel/print/37958
(kurzfassen würde ich das so):
man hat bei seinen Programmen immer globale('feste') variablen und
lokale...
nun, für globle wird direkt beim Programmaufruf Speicher reserviert, bei
lokalen erst wenn es benötigt wird(dann wieder freigegeben). So, nun wird dieser lokale Speicherbereich
(Stack) auch zum ablegen von allerlei internem Zeug genutzt, was man als
C/Delphi usw. Programmierer nie zu Gesicht bekommt: z.B wenn man eine
Prozedure aufruft:
(Pseudo C Code)
main()
{
Lies_den_namen_ein;
tue_noch_was;
}
Die CPU ist "dumm" sie kennt nur ihre paar befehle: addiere einen Wert,
lade anderen, addire/subtrahiere hinzu usw. Wenn man also auch einen
Superkomplexen C++ code hat, wird er vom Compiler in den für die CPU
verständliche Maschinensprache übersetzt (hunderttausende von solchen
einfachen befehlen)... sie liegen alle im Speicher vor, wo sie also
nacheinander verarbeitet werden
code: |
1:
2:
3:
4:
5:
6:
|
Adresse Befehl Bedeutung
0 83c0 03 addiere zum Wert im 1.Register eine 3
3 A1 6 kopiere den wert an der Adresse 6 in den Register1
|
|
so und nun kommt das interessante:
die CPU frießt gemütlich ihren Code - hauptprogramm so zu sagen,
und wenn man eine Procedur aufruft, dann sagt man der CPU, sie soll nicht den
nächsten befehl verarbeiten, sondern an eine bestimmte andere Adresse
gehen(wo der Code der Prozedur/Funktion steht) und da erstmal
abarbeiten... (ende solcher Prozeduren wird mit RET gekennzeichnet, dann
"weiß" die CPU, dass sie jetzt wieder zurück kann, wo sie herkam und da
weiter machen).
Damit die auch weiß, wohin sie zurückkommen muss, wird die Adresse im
Stack vermerkt/abgelegt (also im selben Speicherbereich, in dem auch lokale
Variablen sind -> siehe oben).So, nun hat der Programmierer eine lokale
Variable (in die er zum Beispile den Namen einliest: char Name[80]).Diese Variable nimmt z.B
bis zu 80 Zeichen auf (die dafür im Stack auch reserviert werden), wenn er
jetzt aber keine Überprüfung eingebaut hat, dann kann der User ja auch
mehr eingeben, richtig? Und wenn es passiert, dann werden andere Werte
die "dahinter" auf dem Stack liegen, überschrieben... dabei sind auch
Rücksprungsadressen usw. nun, zurück zur CPU: sie hat die
Unterprocedur(namen einlesen) ausgeführt, aber die Rücksprungsadresse
wurde überschriben: was tut sie dann? nix! sie springt jetzt dahin, wo der
neue wert hinzeigt: wenn es "unsinn" ist, dann gibts
Speicherfehler/Programm stürzt ab.Wenn man aber es geschickt ausnutzt,
kann man sie auch woanders springen lassen: nämlich auf den Stringanfang,
und ab da weiter machen lassen - wenn man nämlich statt dem Namen
Programmcode eingibt (in Maschinensprache versteht sich
) dann führt
die CPU diesen code auch aus - und jetzt stell dir vor, du hast ein solches
Programm auf deinem Rechner als internet dienst laufen (z.B einen FTP
Server oder so).Wenn jetzt jemand so einen "präparierten" "Namen"
eingibt, dann kann er auf deinem Rechner praktisch beliebiegen Befehl
ausführen - da hast du deinen Exploit.
Beispiel(in C) - geb einfach nen langen Namen ein (so am besten 40 zeichen reintippen) und beobachten
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
|
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#define MAX_BUF 80
#define Min_BUF 10
void einlesen (char *buf)
{
char buffer2[Min_BUF];
gets(buf);
strcpy(buffer2,buf);/*buffer2 ist eindeutig kleiner, mal sehen was passiert ;) */
puts(buffer2);
}
void ausgeben (char *buf)
{
printf("Ersetzter Text \n");
puts(buf);
getchar(); /*damit das programm sich nicht sofort schließt und wir die Ausgabe bewundern können*/
}
int main(void)
{
char buffer[MAX_BUF];
einlesen(buffer);
ausgeben(buffer); /*stattdessen kann man auch irgendwo speichern*/
return 0;
}
|
|
Der Fehler hier ist, dass man einen String in den anderen kopiert, ohne die länge zu überprüfen...
PS: deine Frage: lass mal überlegen, hab seit Herbst 1998 einen Rechner(sitze momentan an diesem auch dran
)... da war ich 15.
Hab mich nämlich nie fürs spielen begeistern können, wollte immer wissen wie es im hintergrudn läuft
hab am Anfang z.B versucht Programme mit Notepad zu öffnen
...
DAnn ein VBS Buch (von h.Spoona - einer Frau, naja, so gut wars auch
)
hm, dann hab ich angefangen, bei manchen Programmen den Kopierschutz zu entfernen, so kann ich zu ASM, gleichzeitig auch einige C++ Bücher gekauft(Progen mit MFC,ohne).hab damit ein bisschen gespielt (OpenGL+VC++). C/C++ kann ich trotzdem immer noch nicht.
Dann hab ich mit Abi angefangen in einem Berufskolleg (Lks Mathe/Info) und da hab ich Pascal(die einzige Hochsprache die ich beherrsche) gelernt, da hatte ich auch das meiste gelernt (programmiertechnisch)+anregungen bekommen, wo ich dann selber nachgeschaut hab, wie es läuft...
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von CDW: 15.10.2003 18:46.
|
|
15.10.2003 18:18 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
danke war sehr hilfreich
!!
aber um den exploit zu nutzen muss man ihn ja kennen oder seinen eigenen code mit ins programm bzw. auf die site gebracht haben, richtig? und wie findet man den nu heraus ob da ein exploit ist bzw. wie kommt man nu dazu seinen code da reinzubringen etc.?
nehmen wir mal z.b. die pseudo addresse www.blabla.com..
gehen wir mal davon aus das die so einen fehler gemacht haben und auch kein schutz davor reingebracht haben.. wie kommt man da nu ran bzw. woher weiß man ob die einen haben? und man kann doch da eigentlich net darauf zugreifen oder?
greetz FaLLeN
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
15.10.2003 18:48 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
Zitat: |
aber um den exploit zu nutzen muss man ihn ja kennen oder seinen eigenen code mit ins programm bzw. auf die site gebracht haben, richtig?
|
genau.
Zitat: |
haben und auch kein schutz davor reingebracht haben
|
der schutz wäre nur die Berichtigung des Programms.
Zitat: |
doch da eigentlich net darauf zugreifen oder
|
hm, dann nehmen wir mal an, die haben da webserverprogram laufen: dann muss man die gleiche Version sich selbst besorgen und schauen, welche Fehler es hat und wie man die ausnutzen kann... dabei muss man auch das OS berücksichtigen(die (Kernel) Adressverteilung ist z.B zweischen XP,2k und 98 unterschiedlich). z.B hat dieser webserver meherere Fehler:
1.Beim Starten des WebserverProgramms werden die Parameter ohne überprüfung eingelesen.
2.Beim Aufruf der Seite wird die angegebene URL nicht auf ihre länge überprüft und es kommt somit zum BufferOverflow(also das was ich im vorherigen Post beschriebn hab)
Von diesen Fehlern kann man Nr 1 nicht nutzen, da wir ja nicht vor dem rechner sitzen, aber Nr 2 schon.
Deshlab werden auch Scriptkiddies so verachtet - gehört ja nicht viel dazu, den fertigen Expoit zu nutzen, aber den Fehler finden (bei heutigen progs, die mehrere MB groß sind=> 10 tausende von debugger/asm code, dafür den Exploit schreiben und auch noch auszutesten, da muss man viel Zeit aufwenden... und es war bestimmt nicht dazu gedacht, dass dann damit irgendjemand Unfug treibt ("ha, ich habe www.xxx.xx gehäckt!!!! bin der SUPERH4X0R")
PS: an mods : da es theorie ist, sehe ich hier nix schlimmes
(
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von CDW: 15.10.2003 19:06.
|
|
15.10.2003 18:58 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
Jo mein ich auch das es sich um nis ernstes handelt weil ja net beschrieben wird wie ich z.b. www.xxx.xx häcke, sondern nur wie ein solcher exploit funzt weil ichs einfach interessant find wie solche fehler enstehen und was da alles möglich ist um später diese fehler net zu machen
CDW: was meinst den jetzt mit nr.2?
Zitat: |
Von diesen Fehlern kann man Nr 1 nicht nutzen, da wir ja nicht vor dem rechner sitzen, aber Nr 2 schon. |
(is ziemlich gut erklärt nur durch die länge wirds bissel unübersichtlich
) und es gibt für bestimmte seiten oder programme schon vorgeschriebene sachen von leute die ahnung haben um den exploit zu nutzten oder wie? und buffer-overflow is doch net das gleiche wie ein exploit, richtig?; bzw. ist das doch wenn das programm oder die site abschmiert weil eben solch ein bestimmter code reingebracht wurde von jmd, dass dadurch ein overflow entsteht oder?
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
15.10.2003 19:27 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
mit nummer 2 meine ich dass man in dem Fall nur den zweiten Fehler im
Programm nutzen können, weil man so übers i-net zugriff drauf hat (man
ruft die Seite einfach auf
)... wenn wir jetzt dem Server eine
"präparierte" URL geben, in der sich unser Code befindet, dann führt er ihn
auch (hoffentlich) aus.
Zitat: |
und es gibt für bestimmte seiten oder programme schon vorgeschriebene
sachen von leute die ahnung haben um den exploit zu nutzten oder wie?
|
so könnte man es auffassen, z.B wird ein Fehler gefunden und irgendwo auf
einem Security-board gemeldet... in der Regel taucht auch später ein
Exploit auf, um zu demonstrieren, dass es sich nicht um einen theoretischen
Fehler handelt (manche argumentation von z.B M$oft).Da setzten schon
einige
Kiddies an... um angeben zu können, schreiben sie z.B ein Programm
welches den Exploit drin hat/den Fehler ausnutzt (WinNuker und ähnlich).
Denk dir einfach den Rest.Nur dass man die Fehler trotzdem publiezieren
sollte - verschleierung ist keine(richtige) Sicherheit.
Zitat: |
und buffer-overflow is doch net das gleiche wie ein exploit, richtig?; bzw. ist das doch wenn das programm oder die site abschmiert weil eben solch ein bestimmter code reingebracht wurde von jmd, dass dadurch ein overflow entsteht oder?
|
is schon richtig wie du es auffast: Bufferoverflow(Puffer-Überlauf) ist eben
dieser Effekt/Fehler, der dazu führt dass man seinen Code ausführen kann .
Übrigens versucht man mit den Exploits eher die Kontrolle über den
Rechner zu übernehmen, nur wenn er nicht richtig funktioniert (man
bedenke dass ne kleinigkeit in der Konfiguration des Rechners reicht, damit
man schon ganz andere Bedienungen hat) bringt er das Programm zum
Absturzt (eben z.b den Webserver, der dann die Seite nicht mehr ausliefern
kann).Denn die Exploits sind in der Regel sehr Systemabhängig
(programmversion+service packs +os version +os service packs).
Naja, der (ganze Thread) war mal eben meine Version, ich hab mich ehrlich gesagt nie damit
beschäftigt, nur kurz, weil das mal 2001 in der C'T stand und weil es hier
vor einem Jahr nen HackIt gab.Das heißt, dass es sein könnte, dass ich hier
sch* labbere, aber ich denke im großen und ganzen sollte es stimmen und
zumindes prinzipien erläutern.
Es gibt noch mehr von Exploitarten, die kenn ich aber nicht so, und die Bufferoverflow ausnutzung fand ich am einfachsten zu erklären, das ist auch die häufigste Schwachstelle (besonders betroffen: C Programme)
Überigens kann ich ne Menge Zeug nicht
, sogar viel zu viel, und das meiste was ich kann ist eher Halbwissen.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von CDW: 15.10.2003 22:01.
|
|
15.10.2003 21:55 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
hehe ne passt scho! nur eins is mir immer noch net ganz geläufig..
wie bekomm ich raus das die seite xyz einen solchen exploit hat? gehen wir mal davon aus es ist meine und ich hab sowas übersehen etc.
dann kommt der böse scriptkid schreibt nen code, gibt ne url zu der site url hinzu,der code wird überschrieben, und im besten fall hat er zugriff auf mich.. k soweit alles klar! nur woher weiß der das da so ein exploit ist? er muss ja dann auch theoretisch wissen was ich fürn OS hab etc. oder?
ich mein er kann ja net ögendwas schreiben ohne das er weiß was fürn exploit bzw. was für bedingunen beachtet werden müssen um den code zu progen?! bzw. wie macht der das dann?er müsste ja die ganzen infos über denjenigen haben.. gehts das net auch anders?
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
15.10.2003 22:13 |
|
|
Kalka
BlackBoarder
Dabei seit: 16.03.2002
Beiträge: 856
|
|
*g* also ich glaub du hast da was verdreht. Dein Webserver wird niemals ein Exploit haben, du meinst den Fehler (BufferOverflow z.B.)
Ein Exploit ist das Programm, was den Fehler ausnutzt. Steht aber oben auch schon.
So, um diesen Fehler zu finden, muss der jendige den selben WebServer haben wie du, dann kann er anfangen das zu suchen - und zwar denke ich mal das er anfängt den Webserver zu disassemblern (wie schreibt man das?). Dann eght die suche los, nur ist es wie CDW sagt nich gerade leicht, denn so ein WebServer ist glaub ich nicht so klein..
So, findet er einen muss er nur noch ein Programm schreiben, das den Bug ausnutzt (den Exploit).
Allerdings kannst du ~das~ nicht verhindern, du kannst höchstens verhindern das jemand einen "alten" Exploit benutzt - in dem du immer den neusten Webserver benutzt..
cu Kalka
__________________ In wirklichkeit sind wir alle kleine grüne Kaninchen!
|
|
15.10.2003 22:18 |
|
|
CDW
eine Simulation
Dabei seit: 12.10.2002
Beiträge: 1.329
Herkunft: CreateRemoteThread
|
|
Zitat: |
dann kommt der böse scriptkid schreibt nen code, gibt ne url zu der site url hinzu,der code wird überschrieben, und im besten fall hat er zugriff auf mich..
|
Das will ich mal sehen, dass ein scriptkiddy so was schafft
Er gibt übrigens keine URL dazu, sondern:
Der webserver beantwortet die nachfragen nach Seiten, die nimmt er als URL-String aus/von deinem Browser entgegen.Wenn es je so sch* programmiert wurde, dann reicht schon eine überlange URL, da hat man sien Exploit.
Zitat: |
k soweit alles klar! nur woher weiß der das da so ein exploit ist? er muss ja dann auch theoretisch wissen was ich fürn OS hab etc. oder?
|
Stimmt genau, er muss es sogar haben, falls er selber den Exploit entwickeln will, und das Programm was du als als Webserver einsetzet auch dazu, sonst wird es zwar nicht unmöglich, aber ungemein schwer.
Zitat: |
ich mein er kann ja net ögendwas schreiben ohne das er weiß was fürn exploit bzw. was für bedingunen beachtet werden müssen um den code zu progen?! bzw. wie macht der das dann?er müsste ja die ganzen infos über denjenigen haben.. gehts das net auch anders? |
Das stimmt auch, ich weiß es aber nicht genau, z.B man kann anlaysieren, was für ports sonst noch offen sind oder wie die antworten auf bestimmte IPCM Pakete lauten:
http://helpdesk.rus.uni-stuttgart.de/~ru...uebersicht.html
oder hier ist ne Tabelle:
http://www.computec.ch/projekte/fingerprint-statistiken/
jedes OS hat siene eigenheiten. Und das Programm gibts sich meist irgendwie anders zu erkennen:
http://www.rus.uni-stuttgart.de/beratung/dersf
(der link ist tot: ich meine, man sieht sofort dass es auf dem Rechner ein Apache läuft).
Deshalbt glaub ich auch nicht dran, dass ein Scripty das schafft, denn dafür müsste er ja ERFAHRUNG und WISSEN haben und die meinsten haben nicht die geduld um zu lernen, und wenn doch, werden sie in der Zeit meist erwachsen
|
|
15.10.2003 22:35 |
|
|
SmO
Skillmeister!!11
Dabei seit: 07.10.2003
Beiträge: 67
Herkunft: 2235 n. chr.
Themenstarter
|
|
jo danke ich glaub jetzt is alles soweit klar
guter thread
)
P.S: man muss eh sehr viel wissen haben um diesen exploit überhaupt überhaupt richtig zu nutzen! von daher fand ichs mal ganz interessant einen einblick dazu zu bekommen und mehr auch nicht! thx cdw der wohl hier das meiste erklärt hat
__________________ MfG SmO
-----------
dasELKO.de
-------------------------------------------------------
Die den Herrn fürchten, tun was ihm gefällt. (Sirach 2, 19)
|
|
16.10.2003 14:55 |
|
|
iRat_
Damn Cool!
Dabei seit: 29.09.2003
Beiträge: 390
|
|
Habe ich das soweit richtig vestanden?:
Mit einem ASM-Decompiler kann man den Server decompilieren was im Klartext heist dass man sich durch den Source kämpft und nach Bugs sucht die man dann ausnutzen kann?
Mfg
iRat
__________________ Hi, wie geht's ?
|
|
16.10.2003 18:44 |
|
|
Champus
BlackBoarder
Dabei seit: 24.03.2002
Beiträge: 1.649
Herkunft: Karlsruhe
|
|
Exakt.
Nur das ist nicht so einfach wie es sich anhört, und es ist richtig, richtig harte Arbeit aus vielleicht auchnur einem kleinen klitzekleinem Bug n Exploit zu schreiben das was wirkliches ausübt.
__________________ CorvusCorone -> Champus
|
|
16.10.2003 19:07 |
|
|
Compuholic
knows where he wants to go tomorrow
Dabei seit: 19.10.2002
Beiträge: 819
Herkunft: München
|
|
[quote]Original von iRat_
Habe ich das soweit richtig vestanden?:
Mit einem ASM-Decompiler kann man den Server decompilieren was im Klartext heist dass man sich durch den Source kämpft und nach Bugs sucht die man dann ausnutzen kann?
[quote]
Es gibt einen Unterschied zwischen einem Disassembler und einem Decompiler. Der Unterschied liegt in der Natur der Programmiersprachen begründet. Weil ASM keine High-Level Programmiersprache ist kann man jeden beliebigen Binärcode wieder in ASM disassemblieren. Das ist möglich weil in Assembler die CPU-Befehle nur als Mnemonics darstellt.
Beispiel: Der CPU-Befehl mit der Nummer 90h (Das ist der Befehl bei dem die CPU keine Aktion ausführen soll) wird im Source als "NOP" dargestellt. Das ist dann etwas leichter zu lesen als die Nummer 90.
Ein Disassembliertes Programm sieht etwa so aus:
http://mitglied.lycos.de/compuholic82/images/disassembly.jpg
Ein Decompiler versucht den Binärcode wieder in Sourcecode einer High-Level Programmiersprache zu verwandeln. Das funktioniert aber nur sehr eingeschränkt, weil beim Kompilieren z.B. die Variablennamen verlorengehen und durch Speicheradressen ersetzt werden.
|
|
20.10.2003 11:08 |
|
|
|