반응형
소스코드를 분석해보면 두 가지 코드가 더 추가되었다.
- 환경변수를 사용하지 못하게 모두 0으로 초기화하는 코드
- RET 부분 스택에 무조건 '\xbf'로 시작하는지 확인하는 코드
할 수 있는 방안은 환경변수 영역을 안쓰고 RET 부분에 무조건 \xbf문자열을 넣는다는 것이다.
이번에도 아까처럼 argv[2]에 NOP+SHELL을 넣고 exploit을 해보겠다.
환경변수 영역이 아니니 상관이없고, argv[2]의 주소 값은 \xbf로 시작하니 두 조건에 다 만족하므로 exploit이 가능하다.
argv[2] 주소 값을 찾아보자.
대략적으로 0xbffffc34를 사용하겠다.
argv[1] : dummy(44byte) + 0xbffffc34
argv[2] : \x90(100byte) + shellcode(25byte)
이렇게 넣어 exploit을 시행하겠다.
아무 이상 없이 성공하는 것을 볼 수 있다.
반응형
'WarGame > LOB(The Lord of the BOF)' 카테고리의 다른 글
6단계 wolfman -> darkelf (0) | 2019.09.07 |
---|---|
5단계 orc -> wolfman (0) | 2019.09.07 |
3단계 cobolt -> goblin (0) | 2019.09.06 |
2단계 gremlin->cobolt (0) | 2019.09.06 |
1단계 gate -> gremlin (0) | 2019.09.06 |