Toon posts:

[shellcode/machine code]

Pagina: 1
Acties:

  • shad0w_crash
  • Registratie: januari 2006
  • Laatst online: 26-08-2019
...

[Voor 99% gewijzigd door shad0w_crash op 23-05-2018 15:54]


  • Gerco
  • Registratie: mei 2000
  • Laatst online: 05-09 01:06

Gerco

Professional Newbie

Even een schot in het donker, maar is een int geen 4 bytes in 32 bit mode en zou je daarom niet 4 bytes de stack op moeten lopen ipv 2 om het return adres van je main te vervangen?

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10! | Huis te koop in Barendrecht!


  • Kamose
  • Registratie: februari 2009
  • Laatst online: 31-05-2016
64 of 32 bits?

Verder test ik mijn shellcode altijd met:
code:
1
2
3
4
5
main() {
       int (*ret)();
       ret = shellcode;
       ret();
}


Oja en verder is het hebben van 0-bytes in je shellcode natuurlijk niet zo handig :)

[Voor 44% gewijzigd door Kamose op 30-09-2010 14:00]

\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80


  • shad0w_crash
  • Registratie: januari 2006
  • Laatst online: 26-08-2019
...

[Voor 196% gewijzigd door shad0w_crash op 23-05-2018 15:54]


  • shad0w_crash
  • Registratie: januari 2006
  • Laatst online: 26-08-2019
...

[Voor 100% gewijzigd door shad0w_crash op 23-05-2018 15:55]


  • Korben
  • Registratie: januari 2001
  • Laatst online: 16-09 19:31

Korben

() => {};

Volgens mij moet je eerst even inlezen over pointers en vooral pointers naar functies.

Je declareert een pointer naar een int en vervolgens zet je die naar het adres van zichzelf + 2. Vervolgens zet je de eerste 4 bytes op het adres van ref (+ 2) naar het adres van je shellcode. Einde programma.

.oisyn: Échte programmeurs haten PHP met een passie. Ben jij soms geen echte programmeur?


  • RobIII
  • Registratie: december 2001
  • Laatst online: 23:56

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Gebruik de edit knop ( http://tweakimg.net/g/forum/images/icons/edit.gif ) als je iets toe te voegen hebt; je topic herhaaldelijk omhoogschoppen is niet nodig.

[Voor 24% gewijzigd door RobIII op 30-09-2010 15:49]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Soultaker
  • Registratie: september 2000
  • Laatst online: 22-07 23:43
Ten eerste werkt 't niet omdat in je programma gedeclareerde data (zoals shellcode) niet in een executable sectie gemapt worden (ja, onder meer om dit soort ongein te voorkomen). Daar kun je omheen werken door het geheugen dynamisch te alloceren met mmap(), maar daar heb je dus niets aan als je een exploit probeert te schrijven die gebruik maakt van een bestaande (non-executable) buffer.

Ten tweede compileert Ubuntu's GCC standaard mét beveiliging tegen stack smashing. Zie hier: https://wiki.ubuntu.com/CompilerFlags
Pagina: 1


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee