안녕하세요
소스가 엄청 길다
DO, GYE, GUL, YUT, MO의 함수가 있고
맨위에 있는 MO까지 호출해서
system(cmd) 함수로 쉘을 실행시켜야한다
메인을 보면 argv[1]을 사용해야하고
argv[1]에서 strchr로 \x40을 사용하지못한다
즉 argv[1]에 시스템 주소를 못넣는다
ret 함수의 주소가 DO함수의 주소가 아니면 안된다
ret뒤에 100만큼만 쓸수 있다
마지막으로 LD를 초기화 한다(공유라이브러리 못씀)
일단 주소를 구했다
dummy[44]
&DO[4]
&GYE[4]
&YUT[4]
&MO[4]
dummy[4]
&/bin/sh[4]
/bin/sh[4]
이제 /bin/sh의 주소를 구하자
core를 떨기고 해봅시다
주소는 0xbffffa98이다
실패다
다시 코어를 분석했다
주소가 바꼈다
순간 내가 6이랑 9를 착각했나라는 생각을 했다
아무튼 성공....
'WARGAME > Lob' 카테고리의 다른 글
LOB LEVEL19 (nightmare ==> xavious) (0) | 2016.01.03 |
---|---|
LOB LEVEL18 (succubus ==> nightmare) (0) | 2016.01.03 |
LOB LEVEL16 (assassin ==> zombie_assassin) (0) | 2015.12.30 |
LOB LEVEL15 (gaint ==> assassin) (0) | 2015.12.29 |
LOB LEVEL14 (bugbear ==> giant) (0) | 2015.12.28 |