SunrinMilky
SunrinMilky
SunrinMilky
전체 방문자
오늘
어제
  • 분류 전체보기 (37)
    • Layer7 (5)
    • report (9)
    • K.knock (0)
    • Write-Up (23)
      • HackCTF(Write-up) (1)
      • 고등해커 예선(Write-Up) (0)
      • pwnable.xyz(Write-Up) (1)
      • pwnable.kr(Write-Up) (1)
      • FTZ(Write-Up) (19)
      • Root Me(Write-Up) (1)
      • dreamhack(Write-up) (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
SunrinMilky

SunrinMilky

[FTZ] level13 (Write-Up)
Write-Up/FTZ(Write-Up)

[FTZ] level13 (Write-Up)

2019. 6. 19. 02:20

hint를 보자!

입력한 값을  buf[1024]에 저장하고 

i가 0x1234567가 아니면 프로그램이 죽는다....

이 문제는 strcpy를 이용해서 시도해야 되는데

i를 잘 피해야 된다...

 

일단 gdb로 한번 봐보자!

<main+3>을 보면 0x418(1048)만큼 할당을 하고

<main+9>를 보면 0x1234567dmf [ebp-12]에 넣는것을 볼 수 있다.

 

buf에는 1024만큼 할당되고

남은 24중에서[ebp-12]의 바로 윗 부분인 12는 dummy이다.

[ebp-12]에 i의 값인 4이고

남은8은 dummy

그리고 SFP는 4이고 RET가 나온다.

 

그러면 buf랑 dummy를 A로 채우고 i는 0x1234567로 채우고 dummy랑 SFP를 A로 채운뒤 RET를 덮으면 될것이다.

일단 환경변수를 등록해주고

 

shell코드의 환경변수인 EGG의 주소를 출력한다

EGG의 주소는 0xbffffc91이라는것을 알 수 있다.

 

그러면 i는 1234567로 채우고 나머지는 A를 넣기 위해서

`python -c 'print "A"*1036+"\x67\x45\x23\x01"+"A"*12를 하고 "\x91\xfc\xff\xbf"이쪽으로 가면 될것이다.

요렇게 하면은

level14의 권한을 얻게된다

성공!

저작자표시 (새창열림)

'Write-Up > FTZ(Write-Up)' 카테고리의 다른 글

[FTZ] level15 (Write-Up)  (0) 2019.07.09
[FTZ] level14 (Write-Up)  (0) 2019.07.09
[FTZ] level12 (Write-Up)  (0) 2019.06.19
[FTZ] level11 (Write-Up)  (0) 2019.05.31
[FTZ] level10 (Write-Up)  (0) 2019.05.24
    'Write-Up/FTZ(Write-Up)' 카테고리의 다른 글
    • [FTZ] level15 (Write-Up)
    • [FTZ] level14 (Write-Up)
    • [FTZ] level12 (Write-Up)
    • [FTZ] level11 (Write-Up)
    SunrinMilky
    SunrinMilky

    티스토리툴바