James Gosling de Sun Microsystems a développé le langage de programmation Java en 1995. Il s'agit d'un usage général langage C + + dérivée utilisée dans de nombreux sites Web sous la forme d' applets et servlets qui étendent les fonctionnalités des serveurs web. Un débordement de tampon est un bug de programmation , involontaire ou autre, qui commence à écrire à des cellules de mémoire adjacentes , ce qui est normalement refusé pour des raisons de sécurité . Java est généralement un peu à l'abri de débordement de tampon , car il a " la vérification des limites », qui crée automatiquement des exceptions , ce qui fait que le code ne peut pas accéder accidentellement mémoire adjacente non autorisée. Toutefois, l'accès administratif au serveur Java peut forcer Java pour exécuter du code externe qui peut forcer buffer overflow. Instructions
1
accès Java Native Interface ( JNI) sur la machine virtuelle Java en cours d'exécution JavaScript. C'est la seule façon de causer un débordement de mémoire en Java, en introduisant externe, le code non managé , comme en C + + .
2
ouvrir ou de créer un nouveau script dans la base de données. Création d'un script autonome est préférable d' isoler le script de débordement de tampon, de sorte que vous pouvez facilement annuler l'effet qu'elle provoque
3
Collez ce script: .
Char buf [64 ] , dans [ MAX_SIZE ] ; printf (" Entrez contenu du tampon : \\ n" ) ; lecture ( 0, dans , MAX_SIZE -1); printf (" octets à copier : \\ n"); scanf ( "% d" ; , et octets ); memcpy ( buf, dans , les octets );
puis exécutez-le . Dans le navigateur, il vous sera demandé " octets à copier " et entrez un nombre arbitrairement grand . Cet exemple de code repose sur l'entrée d'utilisateur pour provoquer le débordement.