일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- PHP 웹페이지 만들기
- BOJ
- 숙명여자대학교 정보보안동아리
- 생활코딩
- c++
- siss
- 숙명여자대학교 정보보안 동아리
- Python
- c
- Sookmyung Information Security Study
- Javascript
- 드림핵
- 머신러닝
- 백준
- CSS
- XSS Game
- 기계학습
- lob
- 풀이
- hackerrank
- C언어
- 웹페이지 만들기
- WarGame
- The Loard of BOF
- HTML
- 파이썬
- SWEA
- 자료구조 복습
- hackctf
- BOJ Python
- Today
- Total
목록분류 전체보기 (346)
혜랑's STORY
# 네트워크 분류 - 네트워크란, 두 개 이상의 노드가 서로의 자원을 고유할 수 있는 데이터 통신 환경이라고 볼 수 있다. - 거리를 기반으로 네트워크를 분류하면, 크게 3가지로 분류할 수 있다. LAN(Local Area Network): 근거리 네트워크로 사무실과 같은 소규모 공간 내의 고속 통신 회선이다. MAN(Metropolitan Area Network): LAN과 WAN의 중간 형태 WAN(Wide Area Network): 광대역 네트워크망으로 유관한 LAN간의 연결 # 이더넷 - 이더넷이란, 버스 구조 방식의 근거리통신망(LAN)을 대표하는 기술이며 오늘날 가장 대표적인 기술이다. 네트워크에 연결되는 대부분의 장비들이 이더넷을 통해 연결되어 있다. - 다시말해 이더넷은 네트워크를 구성하는..
# F.T.Z Server 설치 압축 파일을 풀고 Red Hat Linux.vmx를 열어준다. 열고 기다리면 해당 화면이 나온다. id는 root, password는 hackerschool로 로그인 한다. 성공적으로 로그인 한 모습이다. 이후 ifconfig 명령어로 inet addr을 확인한다. # PUTTY 설치 - 설정 앞에서 얻은 inet addr을 입력해준다. 그리고 save를 누른다. 위 화면이 나오면 된거다. 이제 trainer1 / welcome을 입력하고 문제를 풀어보자!
shell.c // Compile: gcc -o shell_basic shell_basic.c -lseccomp // apt install seccomp libseccomp-dev #include #include #include #include #include #include #include #include #include void banned_execve() { scmp_filter_ctx ctx; ctx = seccomp_init(SCMP_ACT_ALLOW); if (ctx == NULL) { exit(0); } seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(execve), 0); seccomp_rule_add(ctx, SCMP_ACT_KILL, SCMP_SYS(e..
ssmash.c // Complie : gcc -o ssmash ssmash.c -m32 -no-pie -fstack-protector -z relro -mpreferred-stack-boundary=2 -fno-pic #include #include #include #include void get_shell(){ system("/bin/sh"); } void print(unsigned char *box, int idx){ printf("idx: %d, box[idx]: %02x\n", idx, box[idx]); } int main(int argc, char *argv[]){ unsigned char box[0x30] = {}; char changed_box[0x30] = {}; char select[..
서론 printf는 포맷 스트링(Format String)을 이용하여 다양한 형태로 값을 출력할 수 있다는 특징이 있다. C언어에는 printf 외에도 포맷 스트링을 인자로 사용하는 함수들이 많이 있는데 대표적으로 scanf, fprintf, fscanf, sprintf, sscanf 가 있다. 함수의 이름이 "f(formatted)"로 끝나고, 문자열을 다루는 함수라면 포맷 스트링을 처리할 것으로 추측해볼 수 있다. 이 함수들은 포맷 스트링을 채울 값들을 레지스터나 스택에서 가져온다. 그런데 포맷 스트링이 필요로 하는 인자의 개수와 함수에 전달된 인자의 개수를 비교하는 루틴이 없어 악의적으로 다수의 인자를 요청하여 레지스터나 스택의 값을 읽어낼 수 있다. 심지어는 다양한 형식 지정자를 활용하여 원하는 ..
보호되어 있는 글입니다.
들어가며 배열 : 같은 자료형의 요소(Elment)들로 이루어져 있는데, 각 요소의 위치를 인데스(Index)라고 한다. 현실에서 첫 번째 요소를 프로그래밍할 때는 0번째 요소라고 한다. 위와 같은 실수는 운이 좋으면 프로그램의 비정상 종료로 그치지만, 때에 따라 치명적인 취약점의 원인이 될 수 있따. 그 대표적 예로 배열의 이므이 인덱스에 접근할 수 있는 Out of Bounds(OOB)가 있다. Out of Bounds 배열의 속성 - 배열은 연속된 메모리 공간을 점유하며, 배열이 점유하는 공간의 크기는 요소의 개수와 요소 자료형의 크기를 곱한 값이 된다. 흔히, 배열이 포함하는 요소의 개수를 배열의 길이(Length)라고도 부른다. - 배열 각 요소의 주소는 배열의 주소, 요소의 인덱스, 요소 자료..
보호되어 있는 글입니다.