본문 바로가기

Layer7/동아리 숙제

(15)
소프트웨어 나눔축제 교재 집필 내용 정리 II. 데이터베이스와 PHP MYSQL,SQL 구문,GET POST, 문법 등등등.. (자세하게) - 희원 윤서 린 재호 5페이지 목표 내가 맡은 파트 : MYSQL 데이터베이스와 관계형데이터베이스 더보기 MySQL에 관해 알기 전에 데이터베이스와 관계형데이터베이스에 대해 알 필요가 있다. 데이터베이스의 정의는 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터들의 집합이다. 우리가 흔히 사용하는 Naver Cloud, GDrive, OneDrive 등 클라우드서비스와 웹사이트에서 사용자의 ID, PW가 저장되는 위치, 블로그에 쓴 글이 저장되는 위치 등이 데이터베이스에 해당된다. 관계형데이터베이스는 데이터베이스의 한 형태로써 각 데이터에 특정한 값을 부여해서 관리하는 데이터베이스이다. ..
웹브라우저와 서버의 통신 클라이언트와 서버 더보기 클라이언트 : 서버에 서비스를 요청하는 컴퓨터 서버 : 클라이언트에 서비스를 제공하는 컴퓨터 만약 우리가 Naver에 접속하고 있다고 하면 Naver에 접속하는 우리는 클라이언트가 되고, 네이버회사에 Naver 페이지를 보내달라고 요청하게 된다. Naver 페이지를 보내주는 네이버회사는 서버가 된고, 클라이언트에게 요청받은 Naver 페이지를 보내줌으로 응답하게 된다. 웹브라우저의 동작과정 더보기 웹브라우저는 앞서 말한 클라이언트와 서버와의 상호작용을 사용자가 좀더 편하게 할 수 있게끔 만들어주는 GUI 기반 응용프로그램이다. 클라이언트와 웹은 Internet이라는 공간에서 서로 상호작용하게 되는데 Internet에서 웹페이지에 접속하고, 이메일을 보내고하는 것이다. 그런 Int..
객체지향 프로그래밍(Object-Oriented Programming) ※ 내가 쓰고도, 너무 추상적인것 같다(두루몽실 쓴것 같다). 솔직히 말해서 나도 잘 이해를 못한 상태로 써내려갔다. 내가 이해한 내용이 틀릴 수도 있고, 틀린내용이 맞을 수도 있다. 아무래도 처음배우는 개념이고, 실습도 못한 상태로 써내려가다보니 이렇게 된 것 같다. 이 글은 내가 정리하고, 공부하기위해서 적은 글이니 만약 당신이 공부할려고 한다면 얌전히 뒤로가기를 누르는게 좋을 것이다. 괜히 개념만꼬이게 될 것이다. 들어가기에 앞서 더보기 해킹을 잘할려면 1순위로 C언어를 잘해야한다. 왜냐하면 C언어를 배우면 기초가 쌓여있어 나머지 언어를 배울때 쉽게 배울 수 있는데 해킹이란, 기본적으로 개발에서 시작되기 때문이다. 해커와 개발자의 차이는 보는 관점이 다르다는 것 밖에 없다. 언어를 배우는 단계까지는..
운영체제의 메모리 할당 알고리즘 운영체제의 메모리 할당 알고리즘 - 개념 설명 더보기 운영체제는 컴퓨터의 자원들을 효율적으로 관리하고, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있게끔 도와주는 소프트웨어다. 따라서 운영체제는 메모리(RAM)이나 하드디스크(HDD)에 공간을 할당할때도 사용자 대신 알아서 해준다. 그러면 도대체 어떻게 알아서 해주는 것일까? 다양한 기법들이 있겠지만 여기서는 유명한 First Fit, Best Fit, Worst Fit 기법들을 알아볼것이다. 기법들에 알아보기 앞서 Sequential Search란 운영체제가 메모리 공간을 할당하기 위해서 공간을 쭉 스캔하는 것이다. 다른 말로는 간단하게 Scanning이라고도 한다. 메모리를 할당하는 것을 Fit라고 한다. First Fit이든, Best Fit..
Codegate 2018 BaskinRobins31 1. 프로그램 분석 더보기 프로그램을 보면 유명한 베스킨라빈스31 게임을 하는 프로그램임을 알 수 있다. 우선 How many numbers do you want to take ? (1-3) 라는 문자열 뒤에 숫자를 입력 받고, 해당 숫자를 출력해준다. 바로 입력을 받을 때 BufferOverFlow를 할 수 있다는 것을 알 수 있다. 그럼 보호기법을 확인해 보자 NX 보호기법이 켜져 있는 것을 알 수 있다. 그러므로 지금까지 했던 방법을 할 수 없다는 것을 알 수 있다. (FSB제외) 오늘은 Memory Leaking을 하는 다른 방법인 ROP를 해볼 것이다. 2. 버퍼의 길이 구하기 더보기 gdb-peda로 프로그램의 흐름을 보자 1. 프로그램 분석에서 봤듯이 프로그램이 실행될때 규칙을 설명하고 사용..
NX-bit binary exploit ( with ASLR ) · Buffer Overflow · 버퍼보다 긴 값을 프로그램의 흐름을 바꾼다. 이 내용은 아래 내용과 서로 연계됩니다. https://riemannk.tistory.com/22 BOF로 쉘따기 · Buffer Overflow · 버퍼보다 긴 값을 입력해서 쉘 코드를 입력받는다. · C언어 코드 #include void setup() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); setvbuf(stderr, 0, 2, 0); } int main.. riemannk.tistory.com https://riemannk.tistory.com/24 NX-bit binary exploit · Buffer Overflow · 버퍼보다 긴 값을 프로그램의 흐름을 바꾼다..
NX-bit binary exploit · Buffer Overflow · 버퍼보다 긴 값을 프로그램의 흐름을 바꾼다. 이 내용은 아래 내용과 서로 연계됩니다. https://riemannk.tistory.com/22 BOF로 쉘따기 · Buffer Overflow · 버퍼보다 긴 값을 입력해서 쉘 코드를 입력받는다. · C언어 코드 #include void setup() { setvbuf(stdin, 0, 2, 0); setvbuf(stdout, 0, 2, 0); setvbuf(stderr, 0, 2, 0); } int main.. riemannk.tistory.com 목표 1. 프로그램 분석 2. RTL 개념 설명 3. Exploit 코드 작성 4. 결과 확인 5. 시행착오 6. 참고 1. 프로그램 분석 더보기 1) 값을 입력 받는다. /..
rev-basic-1 (선택 과제) https://dreamhack.io/wargame/challenges/15/comments rev-basic-1 Reversing Basic Challenge #1 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출� dreamhack.io [문제] [문제 풀이] 정답 인증