|  |
| |
| Deferto |
superdk 를 attackme에 글자수에 맞춰서 해보세요
attackme 8글자이네요
8글자로 맞춰서 해보세요 |
2014/01/24 |
|
| sohun5013 |
Segmentation fault는 메모리 접근 에러 상황에서 뜨는 거예요.
아마 ret주소에 잘못된 값을 넣었을 것 같은데, retAddr을 어떻게 알아냈는지, 혹은 retAddr값을 넣은 주소가 확실히 ret위치가 맞는지 확인해봐야 할 것 같아요.
참고로 제가 실험했을 때 gdb에서 -g옵션을 넣었을 때하고 안 넣었을 때하고 성공 여부가 다르더라고요. |
2014/01/25 |
|
| sohun5013 |
음.... -g옵션이 문제가 아니라 스택공간이 계속 변하나 보네요. 될 때도 있고 안 될때도 있었군요 ㅡ,.ㅡ |
2014/01/25 |
|
| cd80 |
ulimit -c unlimited 명령 치시면 코어 파일 얻으실 수 있는데 자기 소유 파일에서만 되니
cp attackme ~~~~~(attackme와 같은길이) 로 파일 하나 만드셔서
execl 첫번째 인자 맞춰주시고 공격해보시고 코어파일에서 쉘코드 위치 확인해보세요
지금 execl첫번째인자가 /home/level13/attackme 이니
/home/level13/asdfasdf 같이 정확하게 맞춰주셔야 합니다
정확하게 맞춰야하는 이유는 환경변수와 스택 맨 끝에 프로그램명이 들어가기 때문이구요 |
2014/01/25 |
|
| cd80 |
아 ulimit -c unlimited 사본파일에 공격을 한번 하셔야 코어파일이 생성됩니다 |
2014/01/25 |
|
| cd80 |
코어파일이 생성되려면 현재디렉토리에 쓰기권한도 있어야하구요 |
2014/01/25 |
|
| Deferto |
제가 너무 어설프게 대답했군요 ㅋㅋ cd80님께서 말씀하신대로 한번해보세요~ |
2014/01/25 |
|
| ygw0225 |
댓글주신모든분들 감사드립니다. cd80님 말씀대로 코아파일만들어서 해결했습니다 >< |
2014/01/27 |
|
| kumi123 |
문제마다 공격주소 위치가 약간씩 어긋나는게 잇더군요..
cp해서, printf(ret) 해서 나온 주소랑 gdb상의 주소랑 비교해 보세요 |
2014/02/20 |
|