[Pwnable.xyz] add

코드를 보면 $v7$에서 임의의 인덱스에 값을 쓸 수 있어서 이를 이용한 overflow로 RET를 씌우면 됨을 추정할 수 있습니다.


어셈블리 코드로부터 메모리 구조를 파악해보면 아래와 같습니다.


ret는 $v7$기준 13번째 인덱스의 값이라고 생각하면 됩니다.


대놓고 덮어씌울 수 있는 함수를 줍니다.


win 함수의 주소는 0x400822(=4196386)이네요. PIE가 꺼져있어서 로컬과 실제 서버에서 주소는 동일합니다.


13번지에 씌우도록 하면 됩니다. EOF를 보내면 while문을 탈출할 수 있고 리눅스에서는 CTRL+D로 EOF를 입력할 수 있습니다.

'워게임 > Pwnable.xyz' 카테고리의 다른 글

[Pwnable.xyz] GrownUp  (0) 2019.03.16
[Pwnable.xyz] misalignment  (0) 2019.03.06
[Pwnable.xyz] sub  (0) 2019.03.05
[Pwnable.xyz] Welcome  (0) 2019.03.05
  Comments