NX bit 적용 중
IDA로 확인한 main 코드
read로 buf에 768byte 입력 받음
buf의 크기는 256byte > overflow 취약점
buf와 return address 사이 거리는 260byte임을 확인
영역은 0804a000 – 0804b000
pwntools의 ROP 기능을 이용한 ex 코드
read@plt, read@got, write@plt, write@got, read_system_offset을 계산해 줌
name 다음에 payload 전달해주고 binsh 전달, 이후 281 바이트가 다시 출력되는데 그 중 마지막 4 바이트는 read의 주소임으로 281-4를 해 준 277만큼 recvn으로 처리해주고 남은 4 바이트를 read에 받아줌. 받아온 read 값으로 system의 주소를 계산해주고 system 주소를 전달.
쉘 획득