ret할 주소가 지금까지 0xbfff**** 였던 것으로 기억하는데, bf(O) ff(X) __ __ 로 ret 해야 한다...
한참을 헤맸는데, 결국은 "환경변수" 였다.
(*)
내가 헤맨 이유는 cat /proc/self/maps 로 확인되는 스택 주소보다 낮은 주소는 스택이 쌓일 수 없다고 생각한 점. 그래서 힙으로 풀어야 하는 것 아닌가 착각했던 점..
(***)
하지만 저 범위는 처음에 할당받는 영역이 저만큼이라는 것이고, 파일이 실행되며 cat /proc/self/maps에서 확인되는 스택 주소보다 더 낮은 범위까지 접근할 수 있다.
그렇다면,
export X=$(python -c 'print "\x90"*0x10000 + "쉘코드(나의 경우 25bytes)"') ☞ 환경변수 등록
0x10000인 이유는 0xc0000000 - ( x + 25 ) = 0xbf fe __ __ 이 나오게 하기 위함이다.
그리고, 간단하게 익스 가능
'워게임 > LOB' 카테고리의 다른 글
LOB - skeleton (0) | 2021.08.03 |
---|---|
LOB - vampire(심볼릭링크) (0) | 2021.08.01 |
LOB - darkelf (0) | 2021.07.31 |
LOB - wolfman (심볼릭 링크) (0) | 2021.07.31 |
LOB - orc (0) | 2021.07.31 |
댓글