보안/드림핵 강의 6

[Reverse Engineering]x86 Assembly 정리

이 글은 워게임(rev-basic-0)을 풀고 정리하면 추가로 공부하면 좋을 내용을 정리한 것이다.  어셈블리어 못 읽는게 이번 워게임 풀 때는 크게 문제가 되지 않았지만, 어느 정도 알아두는 편이 좋을 것 같았다. 그래서 드림핵의 리버싱 트랙의 Assembly Essential Part를 읽으며 공부했다. 아래 내용은 해당 부분의 요약본이다.x86 Assembly🤖 : Essential Part(1), Essential Part(2) 어셈블리 언어(Assembly Language) : 컴퓨터의 기계와 치환되는 언어. 어셈블리어의 종류도 다양하다.어셈블러(Assembler) : 일종의 통역사로, 개발자가 어셈블리어로 코드를 작성하면 기계어로 코드를 치환해준다.역어셈블러(Disassembler) : 기계..

[Reverse Engineering]Binary & Analysis 정리

Introduction: Reverse Engineering엔지니어링 : 완성품과 이를 구성하는 부품들의 기능과 설계를 고안하고, 제작하는 과정.리버스 엔지니어링(Reverse Engineering) : 엔지니어링의 역과정. 리버싱의 용도좋은 예 : 개발을 중단한 프로그램에 대한 패치가 필요할 때 / 각종 프로그램의 보안성 평가 / 악성코드를 분석할 때나쁜 예 : 상용 프로그램을 구매 없이 무료로 이용하기 위해 쓰는 키젠 프로그램 등의 불법 프로그램 제작할 때 / 게임핵을 만들 때리버싱 시 프로그램의 전체적인 작동 원리를 알아낼 수 있음. -> 지적 재산권 침해의 위험성.테스팅, 연구, 학습 등의 리버싱 : 저작권을 침해하지 않는 한, 제한적으로 허용. Background: Binary 프로그램을 연산 ..

[Web Hacking]Cross-site Request Forgery (CSRF) 정리

ClientSide: CSRF Cross Site Request Forgery (CSRF) 웹 서비스는 쿠키 또는 세션을 사용해 이용자를 식별한다. 임의 이용자의 쿠키를 사용할 수 있다면, 임의 이용자의 권한으로 웹 서비스의 기능을 사용할 수 있는 것이다.   CSRF : 임의 이용자의 권한으로, 임의 주소에 HTTP 요청을 보낼 수 있는 취약점이다. 공격자는 임의 이용자의 권한으로 서비스 기능을 사용해 이득을 취할 수 있다.*예시 : 이용자의 계정으로 임의 금액을 송금해 금전적인 이득을 취하거나 비밀번호를 변경해 계정을 탈취, 관리자 계정을 공격해 공지사항 작성 등으로 혼란을 야기  Cross Site Request Forgery 동작 CSRF 공격에 성공하기 위해서, 공격자가 작성한 악성 스크립트를 ..

[Web Hacking]Cross-site-Scripting (XSS) 정리

Client-Site-Scripting (XSS)  클라이언트 사이드 취약점 : 웹 페이지의 이용자를 대상으로 공격할 수 있는 취약점 클라이언트 사이드 취약점의 대표적인 공격 : Cross Site Scripting(XSS)   XSS 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있다. 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다.  XSS 발생 예시와 종류 XSS 공격은 이용자가 삽입한 내용을 출력하는 기능에서 발생한다.*예시 : 로그인 시 출력되는 “안녕하세요, OO회원님”과 같은 문구 또는 게시물과 댓글종류설명Stored XSSXSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에..

[Web Hacking]Cookie & Session 정리

Background: Cookie & Session 웹 서버는 수많은 클라이언트를 어떻게 구별하고 서로 다른 결과를 반환해줄까?HTTP 프로토콜로 웹 서버와 통신할 때에는 웹 서버에 명령을 내리기 위해 GET, POST와 같은 메소드와 자원의 위치를 가리키는 URL 등이 포함되어 있다.이외에도 헤더(Header)를 통해서 웹 서버에게 요청을 보내고, 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환한다. 이때, 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터가 포함되는데, 클라이언트의 인증 정보 또한 포함될 수 있다.쿠키클라이언트의 IP 주소와 User-Agent는 매번 변경될 수 있는 고유하지 않은 정보일 뿐만 아니라, HTTP 프로토콜의 Connectionless와 Statele..

[Web Hacking]Background - Web 정리

Background: Web 웹(Web) : HTTP를 이용하여 정보를 공유하는 서비스웹 서버 (Web Server) : 정보를 제공하는 주체웹 클라이언트 (Web Client) : 정보를 받는 이용자이전의 웹 서비스가 이용자가 요청하는 정보를 제공하기만 하는 수동적인 형태의 서비스였다면,  현재는 이용자의 요청을 해석하고 가공하여 필요한 정보와 기능을 제공하는 능동형 서비스에 가깝다.프론트엔드(Front-end) : 이용자의 요청을 받는 부분/이용자에게 직접 보여지는 부분으로, 웹 리소스(Web Resource)로 구성백엔드 (Back-end) : 요청을 처리하는 부분 웹 리소스(Web Resource) : 웹에 갖춰진 정보 자산모든 웹 리소스는 고유의 Uniform Resource Identifier..