일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- The Loard of BOF
- 자료구조 복습
- 기계학습
- 웹페이지 만들기
- Javascript
- XSS Game
- SWEA
- WarGame
- Sookmyung Information Security Study
- 풀이
- BOJ
- hackerrank
- CSS
- 숙명여자대학교 정보보안 동아리
- 파이썬
- hackctf
- c++
- PHP 웹페이지 만들기
- siss
- Python
- BOJ Python
- 백준
- HTML
- 생활코딩
- 머신러닝
- c
- lob
- 드림핵
- C언어
- 숙명여자대학교 정보보안동아리
- Today
- Total
목록분류 전체보기 (346)
혜랑's STORY
본 포스팅은 DreamHack 사이트의 Linux Exploitation & Mitigation Part 1 강의 내용을 요약한 것이다. 강의의 주소는 다음과 같다. 해커들의 놀이터, Dreamhack 해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향 dreamhack.io 4. NX bit의 등장 앞에서는 프로그램의 취약점을 이용해 실행 흐름을 조작한 뒤 스택 영역에 저장된 쉘코드를 싱행하였다. 그러나 일반적인 프로그램에서의 스택 메모리는 코드를 실행하는 용도로 사용되는 것이 아니라, 일시적으로 데이터를 읽고 쓰는 데 사용되기 때문에 실행 권한이 있을 필요가 없다. ..
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : orc / PW : cantata 역시 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. wolfman.c 파일의 내용을 확인해 보자. Lv.4에서 등장한 egghunter에 buffer hunter가 추가된 것을 볼 수 있다. 여기서 buffer hunter는 코드상 버퍼를 초기화해준다. 따라서 버퍼 너머의 주소에 Lv.4의 풀이와 마찬가지로 쉘 코드를 넣고 주소를 연결시켜주면 될 것 같다. gdb로 살펴본 스택 상황은 아래와 같다고 생각해 볼 수 있다. buffer SFP RET(return) 40 4 4 따라서 RET의 마지막 주소값엔 "\xbf"가 있으면 된다. 버퍼의 시작 주소를 알아내기 위해 strcpy 함수..
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : goblin / PW : hackers proof 역시 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. orc.c 파일의 내용을 확인해 보자. 앞의 문제에선 보지 못하였던 "egghunter"라는 주석과 함께 "memset()" 이라는 함수가 새롭게 등장한 것을 알 수 있다. 여기서 egghunter는 전역 선언된 environ을 memset()을 사용하여 초기화 한다. 즉, 환경 변수에 SHELLCODE를 넣고 취약한 함수의 return address를 환경 변수의 주소로 바꾸어도, egghunter에 의해 환경 변수가 초기화되기 때문에 환경 변수를 이용할 수 없게 된다. 또한 if문을 통해 argv[1][47]가 ..
#데이터베이스 설정 가장 먼저 개발을 위한 기본 환경을 만들기 위해 "cookies"라는 이름의 데이터베이스를 만들었다. 그 뒤, 데이터들이 들어갈 테이블을 만들어 주었다. 오늘 만들 글을 작성, 수정하는 기능에 필요한 테이블은 "board"라는 이름으로 만들어주었다. 숫자는 꼭 필요하기 때문에 not null로 설정하였고, 키는 기본키 그리고 자동으로 번호가 매겨지도록 설정하였다. 나머지 제목, 내용, 아이디, 날짜 또한 꼭 필요한 존재이기 때문에 not null 설정을 하였고, 각 변수에 알맞게 데이터 타입을 설정해 주었다. 추가적으로 글 작성, 수정에 필요한 화면을 제작하면서 바로 기능을 구현해 주었다. #게시물 작성 $conn = mysqli_connect('localhost', 'root', '..
#메인페이지 로그인하고 레시피 공유해요! 회원가입 지브리가 반해버린 그 맛! 하울정식 라면 오므오므오므라이스 /*main.css*/ body{ background-color: #FFF7DE; font-family: 'Nanum Pen Script', cursive; margin: 0; } .logo-size{ width: 276px; height: 68px; } .search-from{ background-color: white; width: 586px; height: 30px; vertical-align: middle; } .input-text{ width: 516px; height: 30px; background: none; border: 0px; resize: none; } table{ margin..
일단 Create timer를 눌러 보았더니 다음과 같은 결과가 나왔다. 코드를 살펴본 결과 onload를 이용해 startTimer 함수를 실행시키고 있다. (startTimer 함수란, 자바스크립트에서 제공하는 타이머 함수이다.) 따라서 startTimer 함수 뒤에 이어서 alert 함수를 실행시키면 된다고 생각하였다. 3'); alert(''); (' -> 코드에서 괄호와 '의 짝을 맞춰주기 위해 저러한 입력을 실행 함. 결과는 성공이다.
# BOJ 2748번 : 피보나치 수 2 - 풀이 #include int main(){ int n; long long fibo[91]; fibo[0] = 0; fibo[1] = 1; scanf("%d",&n); for(int i=2; i=2)는 n-1번째와 n-2번째 수의 합이라는 것을 알 수 있다. 따라서 2번째 피보나치 수를 구하기 위해서는 0번째와 1번재 수가 필요하기 때문에 둘에 미리 값을 넣어 주었다. 그 뒤, n번째 수가 될 때까지 n-1번째와 n-2번째 수를 더해주면 된다. 이때, 주의해야 할 점은 90번째 값이 int 형의 범위를 넘어가기 때문에 범위가 더 큰 long long 형으로 지정해 주어야 한다는 점이었다. - 실행결과 # BOJ 2750번 : 수 정렬하기 - 풀이 #include..
본 포스팅은 DreamHack 사이트의 Linux Exploitation & Mitigation Part 1 강의 내용을 요약한 것이다. 강의의 주소는 다음과 같다. 해커들의 놀이터, Dreamhack 해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향 dreamhack.io 1. ELF 동적 분석 ELF 동적 분석을 위한 도구로는 gdb, strace, Itrace, LDA 등이 있다. 이 강의에서는 가장 유명한 ELF 디버거인 gdb(GNU Debugger)를 사용하여 ELF 바이너리를 동적 디버깅을 하는 방법에 대하여 알아볼 것이다. +) gdb의 디스어셈블리 문법..