어떤 파일이 존재하나 확인한후 cat명령어를 이용하여 코드를 확인한다.

 

1번문제와 크게 다를바가 없다 단지 buffer에게 할당된 공간이 매우 작아 쉘 코드를 직접적으로 대입할수 없을 뿐이다.

그렇다면 어떻게 해야 할까?

 

환경변수를 이용하여 미리 작성해둔 후 환경변수의주소로 return 값을 돌리면 된다.

먼저 환경변수를 설정해 준다.

\x90은 nop sled 기법을 이용한 것이다.

 

코드를 작성하여 주소값을 확인해 준다.

주소 값을 확인해 준후 이를 이용해 cobolt 파일에 바로 패이로드를 작성한다.

\x90은 16바이트의 버퍼 공간과 4바이트의 sfp 공간을 덮기 위해서

bfffff60의 주소는 환경 변수의 주소 이다.

 

코드를 실행하면 쉘이 따진다.

my-pass를 사용해서 비밀번호를 획득하자

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

LOB-darkelf  (0) 2020.04.11
LOB-wolfman  (0) 2020.04.11
LOB-orc  (0) 2020.04.11
LOB-goblin  (0) 2020.04.10
LOB - gremlin  (0) 2020.04.10

+ Recent posts