Wargame/H4C

System Hacking - syscall

wyv3rn 2023. 7. 1. 18:42
728x90
반응형

1. intro

2. code 및 분석

2.1.  code

Pseudocode

signed __int64 start()
{
  __int64 v1; // [rsp-8h] [rbp-8h] BYREF

  return sys_read(0, (char *)&v1 - 16, 0x130uLL);
}

assembler code

public _start
_start proc near
push    offset _exit
mov     eax, 0
mov     edi, 0          ; fd
mov     rsi, rsp
sub     rsi, 10h        ; buf
mov     edx, 130h       ; count
syscall                 ; LINUX - sys_read
retn

 

2.2. 분석

syscall로 read를 실행하며, overflow가 발생한다.

 

3. 취약점 확인 및 공격 준비

3.1. 취약점

buffer overflow

3.2. 공격 준비

내가 좋아하는 syscall 문제~~~

전형적인 syscall 문제이다.

왠만한 가젯은 다 있으니 이를 이용해서 syscall 하면 된다.

뭐... syscall이 되는 이상 원하는대로 페이로드를 작성하되,

꽤나 서버와의 접속 딜레이가 있고, 값을 제대로 잘 받았는지 알 수 없기에 적절히 딜레이를 추가해주면 충분.

728x90
반응형