ssp 001

buaii·2023년 7월 4일
0

System Hacking

목록 보기
3/11
post-thumbnail

stack canary

디버깅

  1. 스택 분석
    문자열 비교하는 부분이 순서대로 F, P, E인걸 알 수 있다
    이걸 참고하여 디버깅을 해보면

    F -> 입력값을 [ebp - 0x88] 에 저장한다 / box 주소

    E -> 입력값을 [ebp - 0x90]에 저장한다 / name_len 주소
    E -> 입력값을 [ebp - 0x48]에 저장한다 / name 주소
  1. Canary 확인

    32bit TLS : DWORD PTR gs:0x14
    64bit TLS : QWORD PTR fs:0x28


3. 스택 확인

pwntool 작성

scanf : sendline
read : send
ELF.symbols['func']

필요한 정보
1. get_shell() 함수에서 쉘을 획득할 수 있다
2. box idx를 통해 canary값을 획득할 수 있다
3. bof는 name에서 발생한다

profile
buaii

0개의 댓글