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"