[pwnkr] - passcode

2021. 9. 1. 01:20·WriteUP

해당 문제와 함께 제공되는 소스코드는 아래와 같다.

welcome함수에서 이름을 입력받고 login함수에서 두 개의 패스코드를 입력받아 해당 조건문을 통과하면 플래그를 획득할 수 있다. 하지만 해당 두 정수를 입력하면 플래그가 출력되지 않는다 그 이유는 scanf의 함수 원형을 살펴보면

서식 문자 뒤에 변수를 입력할 때는 &함께 주소를 지정해줘야 한다 하지만 위의 코드대로 입력할세 passcode변수에는 쓰레기 값들이 들어가게 된다. 아래의 welcome함수에서는 문자 또는 문자열일 경우에는 해당 첫 번째 인덱스가 시작 주소를 가리키기 때문에 상관이 없다.

일단 해당문제를 분석하기 위해 gdb를 통해 두 함수를 살펴봤다.

welcome함수에서는 해당 name변수에 입력을 받는 위치는 ebp-0x70 위치에 입력받는다.

login함수를 살펴보면 0x10 위치에 passcode1가 입력받는다 이를 해석해보면 0x70 - 0x10 = 0x60

0x60은 10진수로 변환 할 경우 96이 나온다 즉 name함수를 100바이트만큼 입력받지만 입력을 받는 메모리 주소부분이 passcde1과 4바이트가 겹친다는 것이다. 그렇다면 96바이트만큼 더미 값을 채운 후 4바이트 부분 즉 passcde1의 부분을 passcde1 입력받는 후에 나오는 fflush함수의 got주소로 변환시켜 got overwirte 시키면 된다 그 후 첫 번째 입력값 받는 부분은 즉 fflush_got 부분에 우리가 입력하는 값이 들어간다 이 부분에 쉘을획득할 수 있도록 system함수를 넣어주면 된다

fflush의 got주소를 찾고

system함수의 윗 주소를 사용한다 그 이유는 즉 system("/bin/sh")를 실행시켜야 하기 때문이다 함수의 위에는 인자 값이 오기때문에 해당 인자값이 /bin/sh문자열일 것이다.

그 후 아래와 같이 페이로드를 작성하면 쉘을 획득할 수 있다.

여기서 입력값이 위와 같은 이유는 scanf로 입력받기 때문에 정수형으로 입력을 줘 여하기 때문이다.

 

'WriteUP' 카테고리의 다른 글

[pwnkr] - input문제  (0) 2021.09.01
[pwnkr] - random  (0) 2021.09.01
[pwnkr] - flag  (0) 2021.09.01
[pwnkr] - bof 문제  (0) 2021.09.01
[pwnkr] - collision문제  (0) 2021.09.01
'WriteUP' 카테고리의 다른 글
  • [pwnkr] - input문제
  • [pwnkr] - random
  • [pwnkr] - flag
  • [pwnkr] - bof 문제
g2h
g2h
  • g2h
    감자 텃밭
    g2h
  • 전체
    오늘
    어제
    • 분류 전체보기 (144) N
      • Network (4)
      • Web (31) N
        • Web Hacking Techniques (31) N
      • System (32)
        • Tips (11)
        • System Hacking Techniques (21)
      • Pentest (14)
        • Pentest (14)
      • WriteUP (47)
        • sec (0)
      • 도구|Tools (12)
      • Security Issue (3)
      • 1-Day-Analysis (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    DoM
    모의해킹
    sql
    SQL Injection
    침투테스트
    dom based xss
    해킹툴
    취약점
    NOSQL
    vulnability
    Metasploit
    권한상승
    skt 해킹
    Los
    취약점 스캔
    load of sqlinjection
    내부침투
    Kioptrix
    web hacking
    cross side script
    Reflected XSS
    스캐닝
    XSS
    CTF
    Encoding
    Hacking
    해킹
    nosql injection
    해킹도구
    스캔
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
g2h
[pwnkr] - passcode
상단으로

티스토리툴바