profile
안녕하세요 함께 공부합시다

Buffer Overflow의 이해 (2)

쉘 코드 만들기 쉘 코드는 바이너리 형태의 기계어 코드로, 쉘 코드를 만들어야 하는 이유는 실행중인 프로세스에 어떠한 동작을 하도록 코드를 넣어 실행 흐름을 조작할 것이므로 실행 가능한 상태의 명령어를 만들어야 하기 때문이다. 기계어에 능통하다면 기계어로 바로 작성하면

2021년 5월 13일
·
0개의 댓글

Buffer Overflow의 이해 (1)

버퍼(Buffer) : 시스템이 연산 작업을 하는데에 있어 필요한 데이터를 일시적으로 저장하는 공간. 대부분의 프로그램에서는 버퍼를 stack에 생성한다. buffer overflow는 생성된 버퍼에 버퍼의 크기보다 큰 데이터가 저장될 때 발생한다. stack에서 버

2021년 5월 6일
·
0개의 댓글

프로그램 구동 시 segment 동작 방식

예시로 위의 간단한 프로그램이 실행되었을 때 프로세스가 메모리에 적재된 후 메모리와 레지스터가 어떻게 동작하는지 알아보자.일단 위 C 프로그램을 gcc를 통해 어셈블리 코드로 변경하면 아래와 같이 변환된다.프로그램이 컴파일 되어 실제 메모리 상에 어느 위치에 존재하게

2021년 5월 2일
·
0개의 댓글

Challenges

Admin lost password admin 계정의 패스워드를 찾아 로그인에 성공하면 flag 값을 얻을 수 있는 문제이다. 테스트로 무작위 패스워드 입력 후 로그인을 시도했다. 응답 패킷을 보니 실패 했다는 메시지가 응답으로 왔다. ![](https://im

2021년 4월 29일
·
0개의 댓글

8086 메모리, 레지스터

8086 메모리 구조 1) 기본적인 메모리 구조 8086 시스템의 기본적인 메모리 구조는 위와 같으며, 시스템이 운영에 필요한 기본적인 명령을 커널에서 찾기 때문에 커널 영역은 반드시 저 위치에 있어야 한다. 32bit 시스템에서는 CPU가 한꺼번에 처리할 수 있

2021년 4월 25일
·
0개의 댓글

Client Side

Bypass front-end restrictions 1) 타입이 다른 4개의 입력 필드에 설정된 입력값 제한을 우회하여 값을 설정한 후 요청을 보내면 되는 문제이다. 소스코드를 살펴보면 텍스트 입력 필드는 최대 길이 5자로 설정되어 있고, 선택 상자, 라디오 버

2021년 4월 11일
·
0개의 댓글

Cross-Site Request Forgeries

Cross-Site Request Forgeries 1) 페이지에 존재하는 Submit Query 버튼을 외부에서 실행했을 때 서버에서 응답해주는 flag 값을 구하면 되는 문제이다. submit query 버튼을 클릭했을 때 서버로부터 위와 같은 응답을 받을 수

2021년 4월 4일
·
0개의 댓글

Cross Site Scripting (XSS)

Cross Site Scripting 1) 단순히 같은 브라우저 내에서 여러 탭으로 접속했을 때, 각 탭마다 로그인 세션값이 같은지에 대한 문제이다. 같은 브라우저에서는 쿠키 값을 공유하므로 로그인 세션값이 모두 같으므로 yes라는 대답을 전송하면 통과할 수 있다.

2021년 3월 28일
·
0개의 댓글

Broken Access Control

Insecure Direct Object References 1) 현재 로그인 된 계정 외에 다른 계정의 프로필을 보고, 이를 수정하면 되는 문제이다. View Profile 버튼을 클릭했을 때 보내는 패킷이다. 현재는 이 패킷에 대한 응답으로 500에러를 보내고

2021년 3월 21일
·
0개의 댓글

Broken Authentication

Authentication Bypasses 1) 인증 우회 문제에서는 처음에 2016년도 인증 우회 사건 예시를 보여준다. 프록시를 사용하여 본인 인증 질문들에 대한 답변이 바디 데이터로 전송되는데, 이 파라미터들을 모두 지웠더니 정상적으로 인증되었다고 한다. 문

2021년 3월 14일
·
0개의 댓글

Injection Flaws

SQL Injection SQL 인젝션 공격은 클라이언트에서 서버에서 수행되는 SQL 쿼리문에 악의적인 데이터를 삽입하여 DB에 있는 데이터를 임의로 수정 및 추출하는 공격을 말한다. 1) Account Name 입력칸에 문자열 입력 후 Get Account In

2021년 3월 7일
·
0개의 댓글

네트워크 보안

사내 네트워크나 가정에서 사용하는 사설 네트워크에 아무나 무제한으로 접속이 가능하게 할 수는 없다. 그래서 네트워크에 접속하는 사용자를 제한하기 위해 인증이라는 방법을 사용한다. 인증은 네트워크에 접속하려는 사용자 또는 기기가 정식으로 등록됐는지 확인하는 절차이다. 인

2021년 3월 1일
·
0개의 댓글

라우터

이더넷과 무선 LAN은 같은 네트워크 안에서 데이터를 전송할 수 있다. 다른 네트워크에 데이터를 전송하려면 서로 다른 네트워크를 연결해야 하는데, 이 때 사용하는 네트워크 기기가 라우터이다.라우팅라우팅이란 라우터가 데이터의 목적지가 어느 네트워크에 접속해 있는지 판단해

2021년 3월 1일
·
0개의 댓글

이더넷과 무선 LAN

네트워크의 기본적인 구성은 레이어2 스위치로 하나의 네트워크를 구성하고, 라우터 또는 레이어3 스위치로 각 네트워크를 서로 연결하는 형태이다. 다른 네트워크에 있는 서버까지의 데이터 전송은 같은 네트워크 내의 전송 방식을 반복하는 것이다. PC에서 서버로 가는 데이터는

2021년 2월 27일
·
0개의 댓글

웹사이트

웹사이트란 웹서버 애플리케이션이 공개하는 다양한 웹페이지의 집합이다. 웹페이지는 일반적으로 HTML 파일로 만든다.웹브라우저에서 웹사이트 주소 입력 혹은 링크 클릭.웹서버 애플리케이션에 파일 전송 요청.요청 받은 웹서버 애플리케이션에서 해당 파일을 응답으로 전송.웹브라

2021년 2월 25일
·
0개의 댓글

TCP/IP (3)

사설 네트워크에서는 사설 IP를 가지고 그대로 인터넷으로 통신할 수 없다. 인터넷의 서버에 요청을 보낼 때 출발지 IP가 사설 IP 주소인데, 요청은 서버로 보낼 수 있지만, 서버에서 보내는 응답은 목적지가 사설 IP 주소로 되어있기 때문에 인터넷에서는 사설 IP 주소

2021년 2월 24일
·
0개의 댓글

TCP/IP (2)

TCP/IP 에서 각 계층마다 데이터를 부르는 용어가 있다.애플리케이션 계층 : 메시지트랜스포트 계층 : 세그먼트인터넷 계층 : 패킷네트워크 인터페이스 계층 : 프레임예를 들어 웹브라우저 통신 시, 웹브라우저에서 보내고자 하는 데이터에 HTTP 헤더를 추가하면 HTTP

2021년 2월 23일
·
0개의 댓글

TCP/IP (1)

네트워크 통신을 하기 위해 여러 가지 네트워크 아키텍쳐가 있지만 지금은 거의 TCP/IP만 사용한다. 이는 TCP와 IP라는 프로톨을 중심으로 구성된 프로토콜 집합으로, 이를 통해 통신하는 각종 네트워크 기기 전반을 호스트라고 부른다.TCP/IP는 통신하기 위한 기능을

2021년 2월 22일
·
0개의 댓글

네트워크 구성

네트워크를 구성하는 구체적인 네트워크 기기로는 다음 세 가지가 있다.라우터레이어2 스위치레이어3 스위치네트워크 기기들은 모두 데이터를 전송하는데, 다음 세 단계로 이루어진다.데이터 전송 : 데이터를 물리적인 신호로 변환해서 내보낸다.목적지 결정 : 데이터에 부가된 제어

2021년 2월 22일
·
0개의 댓글

네트워크 기본

네트워크는 그물처럼 구성된 시스템을 나타내는 말인데, IT 분야에서는 PC나 스마트폰과 같은 정보 단말 기기들이 서로 연결하여 구성되는 것을 말한다. 이 네트워크를 통해 다른 사람과 데이터를 주고받을 수 있다.정보 수집문서 파일 등 정보들을 여러 사람들과 공유다른 사람

2021년 2월 19일
·
0개의 댓글