James Gosling von Sun Microsystems entwickelt die Programmiersprache Java im Jahr 1995. Es ist eine Allzweck- C + + abgeleitete Sprache in vielen Webseiten in Form von Applets und Servlets , die die Funktionalität von Web-Servern verwendet verlängern . Ein Pufferüberlauf ist ein Programmierfehler , ungewollte oder nicht, das Schreiben auf benachbarte Speicherzellen , die normalerweise aus Sicherheitsgründen nicht zugelassen beginnt . Java ist in der Regel etwas vor Pufferüberlauf , weil es " Grenzen Kontrolle ", die automatisch erstellt Ausnahmen, die sicher -Code kann nicht versehentlich Zugriff auf unerlaubte benachbarten Speicher macht hat . Allerdings kann administrativen Zugriff auf den Java -Server erzwingen Java zu externen Code, Buffer Overflow erzwingen ausführen können. Anleitung
1
Zugang Java Native Interface (JNI ) auf der Java Virtual Machine läuft JavaScript . Dies ist der einzige Weg, um einen Speicherüberlauf in Java verursachen , durch die Einführung von externen , nicht verwalteten Code , wie in C + +.
2
Öffnen oder erstellen Sie ein neues Skript in der Datenbank . Erstellen eines eigenständigen Skript ist am besten, die Pufferüberlauf Skript isolieren , so können Sie ganz einfach den Effekt rückgängig zu machen es verursacht
3
Einfügen dieses Skript : .
Char buf [ 64 ] in [ MAX_SIZE ] ; printf ("Geben Puffer Inhalt : \\ n"); read ( 0 , in , MAX_SIZE -1); printf (" Bytes zu kopieren : \\ n"); scanf ( "% d" ; & bytes) ; memcpy ( buf , in , bytes) ;
Dann starten Sie es. Im Browser sollten Sie gefragt werden " Bytes zu kopieren " , und geben Sie eine beliebig große Anzahl . Dieses Codebeispiel setzt auf Benutzereingaben an den Überlauf zu verursachen.