ssongk
ssongk
ssongk
전체 방문자
오늘
어제

공지사항

  • resources
  • 분류 전체보기 (626)
    • CTF (24)
    • background (79)
      • fuzzing (5)
      • linux (29)
      • linux kernel (15)
      • windows (2)
      • web assembly (1)
      • embedded (0)
      • web (13)
      • crypto (9)
      • mobile (1)
      • AI (1)
      • etc.. (3)
    • write-up(pwn) (171)
      • dreamhack (102)
      • pwn.college (4)
      • pwnable.xyz (51)
      • pwnable.tw (3)
      • pwnable.kr (5)
      • G04T (6)
    • write-up(rev) (32)
      • dreamhack (24)
      • reversing.kr (8)
    • write-up(web) (195)
      • dreamhack (63)
      • LOS (40)
      • webhacking.kr (69)
      • websec.fr (3)
      • wargame.kr (6)
      • webgoat (1)
      • G04T (7)
      • suninatas (6)
    • write-up(crypto) (19)
      • dreamhack (16)
      • G04T (1)
      • suninatas (2)
    • write-up(forensic) (53)
      • dreamhack (5)
      • ctf-d (47)
      • suninatas (1)
    • write-up(misc) (13)
      • dreamhack (12)
      • suninatas (1)
    • development (31)
      • Linux (14)
      • Java (13)
      • Python (1)
      • C (2)
      • TroubleShooting (1)
    • 자격증 (8)
    • 이산수학 (1)
    • 정보보안 (0)
hELLO · Designed By 정상우.
ssongk

ssongk

[G04T] Simple FSB 1
write-up(pwn)/G04T

[G04T] Simple FSB 1

2022. 9. 7. 21:44

문제의 c 소스 코드입니다.

flag를 출력하면 되는 문제입니다.

메인 함수를 디스어셈블 한 결과

flag는 0x601060에 있음을 알게 되었습니다.

 

c 소스 코드 중 아래 두 문장이 FSB 취약점을 유발합니다.

scanf("%lu",&n);

printf(n);

 

printf() 함수의 동작을 이해하면 풀 수 있는 문제입니다.

예를 들어

printf("%d %d %d",1,2,3);

라는 구문이 있다면

첫 번째 인자는 형식표현자이고

두 번째 인자부터 첫 번째 인자에 적힌 표현식들로 순서대로 전달됩니다.

printf() 함수가 실행될 때 "%d %d %d" 문자열을 찾아서

저장되어 있는 주소(문자열의 시작 주소)로 값이 바뀝니다.

예를 들어 "%d %d %d"가 0x506050에 저장되어 있다면

printf(0x506050,1,2,3);

으로 바뀌게 되는 겁니다.

 

printf(n);을 생각해 봅시다.

printf() 함수에서 n은 첫 번째 인자입니다.

scanf("%lu",&n);

n의 값으로 정수를 입력받습니다.

n에 들어간 이 정수 값이 printf() 함수에서주소로 사용될 수 있습니다. -> FSB 취약점 발생

n에 0x601060을 넣어주면

printf(0x601060);

이 되기 때문에 flag 변수의 값을 출력할 수 있습니다.

0x601060을 10진수로 바꾼 값 6295648을 넣어주면

플래그가 출력됩니다~

'write-up(pwn) > G04T' 카테고리의 다른 글

[G04T] Simple BOF 3  (0) 2022.09.08
[G04T] Simple FSB 3  (0) 2022.09.08
[G04T] Simple FSB 2  (0) 2022.09.06
[G04T] Simple BOF 2  (0) 2022.09.05
[G04T] Simple BOF 1  (0) 2022.09.05
    'write-up(pwn)/G04T' 카테고리의 다른 글
    • [G04T] Simple BOF 3
    • [G04T] Simple FSB 3
    • [G04T] Simple FSB 2
    • [G04T] Simple BOF 2
    ssongk
    ssongk
    벌레 사냥꾼이 되고 싶어요

    티스토리툴바