argv[0]부터 입력한 argv를 모두 0으로 초기화시키는 부분이 붙었다.
심볼릭 링크를 걸어 파일명에 쉘코드를 넣어 주었는데,
실제로 디버깅하며 확인해 본 결과 메모리에 argv[0]은 전부 0으로 초기화된 것을 볼 수 있었다.
하지만 스택의 더 윗부분을 확인하면 이렇게 파일명이 그대로 들어있는 부분을 볼 수 있다.
이는 스택 레이아웃이 argv[0] 말고도 구조상 파일명을 포함하고 있기 때문이다.
https://www.win.tue.nl/~aeb/linux/hh/stack-layout.html
여기에 자세히 나와 있다.
어쨌든 찾은 위치로 리턴시켜 공격에 성공하였다.
'Wargame > Lord of Buffer overflow' 카테고리의 다른 글
LOB Redhat : golem > darkknight (0) | 2015.10.17 |
---|---|
LOB Redhat : skeleton > golem (0) | 2015.10.15 |
LOB Redhat : troll > vampire (0) | 2015.10.15 |
LOB Redhat : orge > troll (0) | 2015.10.13 |
LOB Redhat : darkelf > orge (0) | 2015.10.13 |