Ich beschäftige mich gerade ein wenig mit buffer overflows, bzw. shellcode unter linux (Ubuntu 7.10). Dazu einige Fragen:
Wenn ich zu Testzwecken ein C-Programm mit einer Sicherheitslücke (bspw gets(kleinerpuffer)) übersetze, und versuche einen buffer-overflow herbeizuführen, bekomme ich "*** stack smashing detected ***"
Wenn ich ein ähnliches Programm in Assembler schreibe funzt alles wie es soll. also denke ich, dass gcc irgendeine anti-stacksmash lib mitlinkt (bitte korrigiert mich, wenn ich falsch liege). Frage dazu: Wie kann ich das verhindern?
Dann noch eine weitere Frage. Wenn ein Programm aufgrund eines buffer-overflows crasht bekomme ich die Meldung (core dumped) (so wie es sein soll). Nur leider ist die core-Datei nirgens zu finden. Weiß jemand woran das liegt?
mfg, loose
Wenn ich zu Testzwecken ein C-Programm mit einer Sicherheitslücke (bspw gets(kleinerpuffer)) übersetze, und versuche einen buffer-overflow herbeizuführen, bekomme ich "*** stack smashing detected ***"
Wenn ich ein ähnliches Programm in Assembler schreibe funzt alles wie es soll. also denke ich, dass gcc irgendeine anti-stacksmash lib mitlinkt (bitte korrigiert mich, wenn ich falsch liege). Frage dazu: Wie kann ich das verhindern?
Dann noch eine weitere Frage. Wenn ein Programm aufgrund eines buffer-overflows crasht bekomme ich die Meldung (core dumped) (so wie es sein soll). Nur leider ist die core-Datei nirgens zu finden. Weiß jemand woran das liegt?
mfg, loose