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)

블로그 메뉴

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

공지사항

  • .

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
HO_9

HO9

[ROP 문제]2013 Pico ctf rop-2
SYSTEM HACKING/문제 풀이

[ROP 문제]2013 Pico ctf rop-2

2017. 12. 13. 22:46
728x90

저번에 rop-1에 이어서 rop-2의 풀이를 적어보겠다.


rop2-20f65dd0bcbe267d


이문제도 정말 쉽다.빠르게 풀어보자.


#undef _FORTIFY_SOURCE #include <stdio.h> #include <stdlib.h> #include <unistd.h> void vulnerable_function() { char buf[128]; read(STDIN_FILENO, buf, 256); } void be_nice_to_people() { gid_t gid = getegid(); setresgid(gid, gid, gid); } int main(int argc, char** argv) { be_nice_to_people(); vulnerable_function(); write(STDOUT_FILENO, "Hello, World\n", 13); }

저번 문제와 동일하게 ida로 열어보면 not_colled함수가 있는 것을 볼 수 있다.
하지만 저번에는 /bin/sh을 불러왔다면 이번에는 /bin/date를 불러온다.
그렇지만 이문제도 간단하다.왜냐하면 문제에 문자열을 넣어 놨는데 그문자열을 이용해서 문제를 풀 수 있다.

ida에서 shift+f12를 누르면 파일에 있는 문자열들을 볼 수 있다.
찾아보면 /bin/bash라는 문자열이 보일 것 이다.
이것을 system함수의 인자로 넘겨주면 bash쉘을 딸 수 있을 것이다.

/bin/bash의 주소까지 써있다.역시 ida!

gdb로 system함수의 주소까지 구해준 후!




bash쉘을 따내었다!





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

[ROP 문제]2013 Pico ctf rop-4  (0) 2017.12.20
[ROP 문제]2013 Pico ctf rop-3  (0) 2017.12.18
[ROP 문제]2013 Pico ctf rop-1  (0) 2017.12.13
[ROP 문제]DEFCON2015문제 r0pbaby  (0) 2017.12.11
[ROP 문제]우분투 CTF 문제 small  (0) 2017.11.25
    'SYSTEM HACKING/문제 풀이' 카테고리의 다른 글
    • [ROP 문제]2013 Pico ctf rop-4
    • [ROP 문제]2013 Pico ctf rop-3
    • [ROP 문제]2013 Pico ctf rop-1
    • [ROP 문제]DEFCON2015문제 r0pbaby
    HO_9
    HO_9

    티스토리툴바