basic_fsb

2021. 7. 21. 02:17·WriteUP

이번에 풀어볼 문제는 basic_fsb라는 문제이다 제목에서부터 유추 가능하듯 FSB(포맷 스트링 버그)를 이용한 문제이다.

해당 문제를 실행시켜보자

특정 문자를 입력받고 그대로 출력해준다

해당 문제에 적용되어있는 메모리 보호기법을 확인해보자

아무것도 적용되어있지 않다

일단 해당문제를 분석하기 위해 GDB를 통해 유추해보자

main함수에서는 특별한게 없어 보인다 call부분에서 호출되는 vuln함수를 살펴보면

fgets로 입력을받고 snprintf함수와 printf를 사용한다 해당 프로그램을 명확히 분석하기 위해 IDA를 사용

vuln함수를 살펴보면 fgtes함수를 통해 s변수에 1024바이트만큼 이력받고 snprintf함수를 통해 400u(1024바이트)만큼 입력받기 때문에 bof는 통하지 않는다 또한 s변수에 있는 값을 format에 옮긴 후 printf함수를 통해 출력한다

이때 printf함수에 포멧스트링(서식문자)가 포함되어있지 않은걸 보니 저기서 fsb가 일어난다고 보면 된다.

이번 문제에서는 printf_got overwrite를 이용할 것이다.

해당 프로그램에 숨겨진 함수가 있는지 찾아보자 

flag라는 함수를 찾았다 해당 함수는 시스템 함수를 통해 bin/sh를 실행시켜준다 

그럼 우린 리턴되는 printf의 got에 해당 flag함수의 주소 값으로 변경시키면 된다는 것이다!!

 

일단 해당 문제를 실행시켜 어느 부분에 값이 들어가는지? 확인해봤다

확인 결과 두 번째 부분에서 바로 입력한 AAAA의 아스키코드값인 41414141 이 들어간 걸 알 수 있다.

그럼 이제 우리가 알아야 할 것은

printf의 got주소와 flag함수의 주소의 바이트수이다 

 

printf함수의 got주소는 0x804a00c이며

flag함수는

주소이기 때문에 해당 값을 바꾸면

134514100이나 온다 하지만 여기서 4바이트를 빼줘야 한다 그 이유는 정확히 모르지만 got와의 거리가 4였나... 이건 좀 더 알아봐야겠다

그럼 134514096이다 이제 공격코드를 작성해보자

나는 공격코드를 아래와 같이 작성하였다.

 

해당 프로그램을 실행시키면 성공적으로 쉘이 획득되는 것을 볼 수 있다.

 

FSB가 가장 이해하기 어려운 거 같다.. 좀 더 공부를 해봐야 할 거 같다.

'WriteUP' 카테고리의 다른 글

basic_exploitation_000  (0) 2021.07.22
bof_pie  (0) 2021.07.22
rtl_core  (0) 2021.07.21
rtl_world  (1) 2021.05.28
offset  (0) 2021.05.26
'WriteUP' 카테고리의 다른 글
  • basic_exploitation_000
  • bof_pie
  • rtl_core
  • rtl_world
g2h
g2h
  • g2h
    감자 텃밭
    g2h
  • 전체
    오늘
    어제
    • 분류 전체보기 (151)
      • Network (4)
      • Web (35)
        • Web Hacking Techniques (35)
      • System (32)
        • Tips (11)
        • System Hacking Techniques (21)
      • Pentest (14)
        • Pentest (14)
      • WriteUP (47)
        • sec (0)
      • 도구|Tools (12)
      • Security Issue (5)
      • 1-Day-Analysis (1)
      • 한줄보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    csp bypass
    content security policy
    스캐닝
    Metasploit
    취약점 스캔
    DoM
    CTF
    Los
    Csp
    Encoding
    XSS
    해킹도구
    침투테스트
    웹해킹
    권한상승
    cross side script
    모의해킹
    load of sqlinjection
    해킹
    SQL Injection
    dom based xss
    sql
    nosql injection
    web
    NOSQL
    Hacking
    해킹툴
    취약점
    web hacking
    스캔
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
g2h
basic_fsb
상단으로

티스토리툴바