본문 바로가기
Wargame/LOB

darkelf -> orge

by Anatis 2020. 9. 7.

ls 명령어로 디렉터리를 확인해보면 orge, orge.c가 있다.

이번 레벨에서는 전 레벨과 달라진 점은 check argv [0]이 추가되었다.

argv [0]의 길이를 77로 검증하는 부분이다. orge파일을 길이가 같은 이름으로 복사한다.

 

이제 argv[0]의 길이를 맞추고 argv [2]의 주소를 이용하여 공격해보자.

gdb는 실행 시에 절대 경로로 실행되기 때문에 분석할 때 길이를 맞춰서 분석한다.

strcpy() 함수가 호출된 후인 main+283에 브레이크를 걸고 실행시킨다.

 

이제 argv [2]의 주소를 찾아보자

argv[2]의 주소는 0 xbffffda6이다.

argv [2]의 주소를 알았으니 Python으로 exploit code를 작성해보자.

 

Payload

buffer(40) + SFP(4) + RET(4) + ' ' + NOP(100) + shellcode(25)

 

argv [0]의 길이

/home/darkelf/ (14) + / (59) + orge (4)

다음 레벨의 orge의 권한의 쉘이 실행되었다.

 

darkelf -> orge

password : timewalker

'Wargame > LOB' 카테고리의 다른 글

troll -> vampire  (0) 2020.09.13
orge -> troll  (0) 2020.09.12
wolfman -> darkelf  (0) 2020.09.07
orc -> wolfman  (0) 2020.09.06
goblin -> orc  (0) 2020.09.06

댓글