Heyo guten Tag/Nach,
ich hab mich letztens auf galileocomputing wieder mal rumgetrieben und hab deren Katalog durchgelesen und bin bei "C von A bis Z" gestoßen.
Ich hab halt dann angefangen mir des openbook durch zu lesen und bin in Kapitel 4.1.2 auf die Format String Exploitation gestoßen und neugierig wie ich bin hab ich auch danach gesucht und bin auf folgendes PDF Dokument gestoßen: exploit-db.com.
Ich hab das auch gleich auspobiert (ich verende Code::Blocks). Als ich das Programm mit der CMD aufgerufen habe mit dem Parameter $(python -c'print"%08x"*20') hat mir die Console angezeigt: "You wrote $(python". Ich war schon fast am Verzweifeln...dann ist mir eingefallen dass die Windows CMD ja teilweise auf Leerzeichen in Strings reagiert und dann aus einem String, zwei macht.
Desshalb hab ich das Argument in Anführungsstriche gesetzt: "$(python -c'print"%08x"*20')" und es hat mir dann statt dem %08x irgend eine achtstellige Hex-Adresse angezeigt: "You wrote:
$(python -c'print"0542a51ex"*20'), laut der PDF sollte es mir aber "You wrote: %08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x" anzeigen...
Was mach ich falsch?
ich hab mich letztens auf galileocomputing wieder mal rumgetrieben und hab deren Katalog durchgelesen und bin bei "C von A bis Z" gestoßen.
Ich hab halt dann angefangen mir des openbook durch zu lesen und bin in Kapitel 4.1.2 auf die Format String Exploitation gestoßen und neugierig wie ich bin hab ich auch danach gesucht und bin auf folgendes PDF Dokument gestoßen: exploit-db.com.
Ich hab das auch gleich auspobiert (ich verende Code::Blocks). Als ich das Programm mit der CMD aufgerufen habe mit dem Parameter $(python -c'print"%08x"*20') hat mir die Console angezeigt: "You wrote $(python". Ich war schon fast am Verzweifeln...dann ist mir eingefallen dass die Windows CMD ja teilweise auf Leerzeichen in Strings reagiert und dann aus einem String, zwei macht.
Desshalb hab ich das Argument in Anführungsstriche gesetzt: "$(python -c'print"%08x"*20')" und es hat mir dann statt dem %08x irgend eine achtstellige Hex-Adresse angezeigt: "You wrote:
$(python -c'print"0542a51ex"*20'), laut der PDF sollte es mir aber "You wrote: %08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x%08x" anzeigen...
Was mach ich falsch?
In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell