HO_9
HO9
HO_9
전체 방문자
오늘
어제
  • 분류 전체보기 (104)
    • Write Up (3)
    • WarGame (21)
      • The Lord of Bufferoverflow(.. (7)
      • The Lord of Sql Injection(L.. (1)
      • Pwnable.kr (1)
      • Pwnable.tw (0)
      • XSS GAME (6)
      • Pwnable.xyz (5)
    • SYSTEM HACKING (49)
      • 기법 (24)
      • 문제 풀이 (24)
    • CODING (2)
      • PYTHON (2)
    • WEB HACKING (1)
    • Plan (0)
    • PROJECT (0)
    • iOS (6)
    • ALGORITHM (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

  • .

인기 글

태그

  • log4j
  • 아파치
  • JNDI
  • 취약점

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
HO_9

HO9

2017 Codegate -babypwn
SYSTEM HACKING/문제 풀이

2017 Codegate -babypwn

2018. 1. 12. 01:19
728x90

babypwn

저번 코드게이트 주니어 문제를 풀어보겠다.

생각보다 난이도가 어렵지 않아서 쉽게 풀었다.




32비트 파일이고 NX/SSP가 걸려있다.



바이너리는 fork()가 되어있어서 Canary값이 고정이다.

그럼 바이너리를 분석을 해보자.




소켓이 연결이 되면 이와 같은 함수로 이동이 된다.

Welcome()으로 먼저 이동이 된다.

Welcome()을 열어보면 간단한 인사말을 출력을 해준다.

list()를 보기전에 Bye()을 보면 간단하게 끝나는 문구를 출력을 해준다.

list()는 열어서 자세하게 확인을 해야한다.

이곳에서 취약점이 발생한다.




확인을 해보니 sub_8048907()에서 취약점이 일어난다...

sub_8048907()을 열어보면 recv()를 받는 함수이다.

그럼 v2에다 100의 값을 입력을 받는 것인데 v2의 공간을 보면 오버플로우가 일어난다.

하지만 카나리가 있기 때문에 카나리를 릭을 해줘야 한다.


그럼 카나리를 릭을 해보자.

v2에 40을 넣어 주었는데 카나리가 나오지가 않아서

41을 넣어줬더니 카나리가 나왔다.



카나리는 little endian으로 바꿔준 후 첫 바이트에는 00을 넣어주자.


그럼 카나리를 구해줬으니 익스플로잇을 바로 짜보겠다.

system함수를 leak해서 구해주지 않는 이유는 system함수가 이미 바이너리에 있다!!!???!?

그래서 그냥 plt로 사용을 해줬다.



여기서 살짝 헷갈린게 값을 준다음에 바로 실행이 왜 안되나 살짝 애를 먹었다.

왜 그러나 했더니 while(1)로 묶여 있어서 바로 안끝났던 것이었다...

3번을 해주면 whil(1)을 끝내고나서 우리가 덮어주었던 곳으로 ret를 해주는 것이다.

.

.


그럼 nc로 포트를 열어주고 flag를 받아보자.



그닥 어려운 문제는 아니였던 것 같다.

system의 주소도 친절하게 나와있고..

코드게이트는 문제가 너무 재밌는거 같다 후... 다른 문제도 풀어봐야겠다. 


'SYSTEM HACKING > 문제 풀이' 카테고리의 다른 글

간단한 Crc CTF 문제  (0) 2018.01.29
2016 Codegate -Watermelon  (0) 2018.01.24
2014 Codegate -nuclear  (0) 2018.01.10
2014 Codegate -Angry_Doraemon  (0) 2018.01.08
Plaid CTF 2018 - EBP  (0) 2018.01.05
    'SYSTEM HACKING/문제 풀이' 카테고리의 다른 글
    • 간단한 Crc CTF 문제
    • 2016 Codegate -Watermelon
    • 2014 Codegate -nuclear
    • 2014 Codegate -Angry_Doraemon
    HO_9
    HO_9

    티스토리툴바