ID : level15

password : geuss what

 

 

1) 코드를 분석하도록 한다.

포인터 check 가 deadbeef 가 되면, 16권한이 뚫릴것이다.

 

이전의 방식대로 풀어보도록한다.

 

단, 포인터 변수로 선언되었기 때문에 , 직접  값이 아닌, 

0xdeadbeef 변수가 들어있는 주소값을 check 에 넣어주면 된다.

 

2) x/10x main 을 입력하면, 

40byte 까지의 값을 16진수로 나타낼수 있다.

 

0x80484b0 주소 열에 보면, 

0xbeef3881 , 0x2575dead 가 있는것을 확인할수 있다,

 

주소값을 확인하기 위해, 0x80484b0 부터 1씩 늘려가며, 해당 값을 확인해본다.

3) 0x80484b2 주소에 deadbeef가 정확히 들어있다, 

또한, 순서대로 보면 1이 늘어날때마다

다음 주소에서 2글자씩 가져옴을 확인하자~!

 

0xdeadbeef 값이 들어있는 주소는 0x80484b2 이다!

 

이것을 check 변수에 넣어주면 16권한이 열린다!

 

4) 14레벨에서는 뒷 부분까지 모두 적었으나, 

코드를 자세히 살펴보니 단순히 check 변수에 값만 들어가면 된다,

따라서 쉘 코드도 필요 없으므로,

바로 위와 같은 코드를 입력하면

 

5) level 16 의 비밀번호는

"about to cause mass"

 

+ Recent posts