Fedora Core3 : 인자 참조를 ebp로 하기 때문에 fake ebp(leave)를 이용한 공격
| buf | 인자로 사용할 부분-8을 ebp로 조작(주로 GOT이용)| &execl+3 | ? | ? | ? | ? | ....
Fedora Core4 : 인자 참조가 esp로 바껴서 고정된 인자값까지 ret sleding을 넣어 공격
| buf | ebp | ret | &ret | &ret | &ret | &ret | &ret | &ret | &execl | ? | 고정된 인자값 | ... NULL |
Fedora Core5 : 함수 프롤로그, 에필로그 부분에서 ecx를 이용해 ret주소를 알아내므로 ecx 조작을 이용해 공격
| buf | ecx | ebp | ret | .... | ret | ecx가 가리키는 부분 | .....
--> | ret sleding + main epilogue | ecx 1byte \x00 | --------ebp, ret들 ---------| argv, environ pointer(esp가 올라옴) | --- argv, environ 실제 값 ---- |
'System > Linux' 카테고리의 다른 글
GOT overwrite - GOT를 PLT로 덮는다?? (2) | 2012.09.24 |
---|---|
메모리 보호 기법 SSP(Stack Smashing Protector) (1) | 2012.08.28 |
Fedora Core5의 bof공격 (0) | 2012.08.27 |
remote BOF1 - [xinetd 데몬으로 작동하는 프로그램] (0) | 2012.07.24 |
FSB(Format String Bug)로 GOT Overwrite 해보기 (0) | 2012.05.22 |