본문으로 바로가기

고퍼

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 방명록
관리자
  • 블로그 이미지
    G0pher

    Information Security

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

해커스쿨.Section 2

Section 2버퍼 오버플로우(Buffer OverFlow)의 뜻이 뭔가요? 우선 버퍼에 대해서 알아야 한다.버퍼란 어떤 데이터가 한 곳에서 다른 곳으로 이동할 때,그 데이터가 일시적으로 보관되는 임시 기억 공간이다. 이번에는 오버플로우에 대해 알아보자OverFlow 말그대로 '과하다'와 '넘치다'가 합쳐져"과해서 넘쳐버리다"라는 뜻이 되어버린다 즉, 버퍼 오버플로우란"사용자가 입력한 데이터의 크기가 너무 과하여 제한된 버퍼의 용량에서 넘쳐버렸다"라는 뜻이 된다. 이렇게 제한된 버퍼 영역을 벗어나게 되면 다른 메모리 영역을 침범할 수 있고이는 프로그램에 문제를 일으킬 수 있다

Study/system 2017. 10. 17. 21:56

해커스쿨. Section 1

Section 1프로그램을 공격한다!? 보통 언어를 배우면서 만드는 프로그램은 내가 설계한대로 컴퓨터가 시행하게 된다그러나 이를 어떻게 공격할 수 있을까? 프로그램을 제작할 때 단순 출력만을 이용한 프로그램은 우리가 지금 배울 시스템 공격의 대상이 아니다또한 그러한 프로그램은 사용자에 따라 유연하게 대처하기 힘들다 사용자에게 더욱 편하고 유연한 프로그램은 '입력'을 받게된다.이 입력에 따라 프로그램의 흐름이 바뀐다 이 '입력'에서부터 취약점이 발생할 수 있다프로그램이 받기위해 설정한 저장공간보다 더 많은 양의 데이터를 입력하게 되면프로그램은 오류를 반환하게 된다 자신의 한계를 드러낸 것이다 실제로 실습해보면 Segmentation fault 에러가 뜨는것을 볼 수 있다 이것이 버퍼오버플로우(BOF)의 가..

Study/system 2017. 10. 17. 21:50

시스템 해킹

시스템 해킹이란? 운영체제나 소프트웨어, 더 나아가 하드웨어까지 침투하여 메모리를 조작하는 기법 예를 들면 시스템 해킹기법으로 유명한 버퍼오버플로우가 있다이는 입력값을 받을 때 발생하는 취약점을 이용해 오버플로우를 일으켜 메모리 조작을 가능하게 한다 BOF(Buffer Over Flow) 외에도 Format String BugInteger OverflowUse - After - FreeType Confusion 등의 기법들이 존재한다 시스템은 해커스쿨에서 제공하는 자료를 이용해서 공부를 시작하려고 한다

Study/system 2017. 10. 17. 21:39

안티 디버깅

안티 디버깅이란? 디버깅을 방지하여 분석하지 못하게 하는 기술이다.끊임없이 막고 뚫기를 반복하기 때문에정말 다양한 안티 디버깅 방법이 존재한다. 안티 디버깅을 배우는 이유 디버깅을 통해 프로그램의 정보가 유출되고, 프로그램의 흐름을 변경할 수 있기 때문에디버깅을 막아야한다. 안티 디버깅의 종류Static프로세스에서 디버깅여부를 판단하여 방어하는 기법비교적 쉽게 다양한 시스템 정보를 이용해서 구현가능하다PEB, TEB 등 Dynamic내부 코드를 감추고 보호하는 기법비교적 어렵지만 디버거 동작 원리를 역이용하여 수시로 보호할 수 있다는 장점이 있다Using SHE 안티 디버깅 기법들 PEB(Process Encironment Block)프로세스를 담고있는 구조체이며, 현 프로그램의 디버깅 여부를 확인 TE..

Study/reversing 2017. 10. 17. 19:09

언패킹

언패킹이란? 말그대로 패킹되어있는 파일을 다시 패커를 통해 언패킹된 상태로 만드는 것쉽고 빠르게 툴을 이용할 수 있고, 디버거를 사용하여 모은 정보를 분석하여 수동으로 언패킹 할 수도 있다 언패킹 동작 과정코드 내에 있는 디코딩루틴이 압축되어있는 데이터를 풀어내어 코드와 데이터를 복구하여 메모리에 올린다즉, 압축이 해제된 데이터는 메모리에만 존재한다. 언패킹을 했음에도 파일이 제대로 실행되지 않는 이유, 해결법 패킹 과정에서 엔트리 포인트 부분의 코드가 다른 부분으로 옮겨졌기 때문이다. Stolen Byte 이름처럼 실제로 Stolen Byte를 보게되면 당황할 수 있다정말 사라지기 때문이다. 이는 한 부분의 코드가 다른 주소로 이동했기 때문인데 주로 패킹과정에서 볼 수 있다

Study/reversing 2017. 10. 17. 18:31

패킹

패킹이란? 실행압축이란 뜻으로, 프로그램을 실행시키면 자동으로 압축이 풀리면서일반적인 프로그램을 사용하는것처럼 사용이 가능하다.실행압축파일도 PE 파일로 내부에 디코딩 코드가 들어가있다. 패킹을 하는 이유프로그램을 함부로 디버깅 할 수 없도록 하기 위해 사용된다.이는 데이터를 보호하여 지적재산권을 보호하고 악용을 방지하는데에 큰 도움이 된다.또한, 데이터를 압축시켜 프로그램의 크기를 줄일 수도 있다. 비손실 압축 vs 손실 압축 비손실 압축은 손실이 없도록 패킹되어있기 때문에 사용시 압축을 해제해야 정상적으로 사용가능하다.반면에 손실압축은 의도적으로 파일에 손상을 주어 압축률을 높이고, 실행시 그 자체로 사용이 가능하다.손실압축은 이미지나 비디오, 음악 등에 사용된다. 일반 압축 vs 실행 압축일반압축은..

Study/reversing 2017. 10. 16. 21:57

라이브러리

라이브러리란? 소프트웨어 개발 시 사용되는 프로그램의 구성요소로,공통으로 사용될 수 있는 특정한 기능을 모듈화한 것이다.프로그래밍언어에서 라이브러리를 사용할 수 있도록 하는 API와는 다르게동작하는 완전한 프로그램이 아닌 특정한 부분 기능만을 수행하도록 기계어의 형태로 제작되어있다.그렇기 때문에 사용자가 직접 일반적인 조작으로 사용할 수 없으며, 프로그램이나 API를 이용하여 사용해야한다. 정적 라이브러리(Static library) 라이브러리가 실행 바이너리에 포함되어있어 별도의 작업 없이 독립적으로라이브러리 함수들을 사용할 수 있는 방식. 하지만 정적 라이브러리를 사용하는 프로그램이 많아지면실행파일들의 크기가 커지며,메모리의 공간효율이 떨어진다. 사용법#pragma comment(lib, "Name...

Study/reversing 2017. 10. 16. 20:56

IAT & EAT

IAT(Import Address Table) 프로그램에서 어떤 라이브러리의 어떤 함수를 사용하고 있는지 해당 함수의 정보를 담고있는 테이블 EAT(Export Address Table) 라이브러리의 함수를 사용할 수 있도록 해당 함수의 정보를 담고있는 테이블

Study/reversing 2017. 10. 12. 21:05
  • 이전
  • 1
  • ···
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • ···
  • 49
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • 네트워크
  • injection
  • HTML
  • 어셈블리어
  • 웹 해킹
  • Python
  • web
  • 웹
  • 리버싱
  • 파이썬
  • writeup
  • SQL
  • webhacking.kr
  • Los
  • 시스템
MORE+

ARCHIVE

CALENDAR

«   2025/11   »
일 월 화 수 목 금 토
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

LINK

  • ♡
  • DESIGN 아띠 그래픽
  • 이종찬
  • 박상현
  • 이창현
  • 송인봉
  • 신동철
  • 박준형
  • 유현진
  • 박형찬
  • 박형찬
  • 이우진
  • 조학근
  • 박홍주

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 고퍼, ALL RIGHT RESERVED.
고퍼
블로그 이미지 G0pher 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 방명록
CATEGORY
  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바