일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자료구조 복습
- HTML
- 숙명여자대학교 정보보안 동아리
- 숙명여자대학교 정보보안동아리
- 머신러닝
- 파이썬
- 풀이
- BOJ
- c
- siss
- c++
- 기계학습
- hackctf
- PHP 웹페이지 만들기
- Python
- 웹페이지 만들기
- Javascript
- hackerrank
- BOJ Python
- WarGame
- CSS
- 백준
- SWEA
- C언어
- Sookmyung Information Security Study
- lob
- XSS Game
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
#Return to Shellcode Return to Shellcode란 Return address 영역에 Shellcode가 저장된 주소로 변경해, Shellcode를 호출하는 방식이다. CALL & RET instruction CALL 명령어는 Return address(CALL 명령어 다음 명령어의 위치(주소값))를 Stack에 저장하고, 피연산자 주소로 이동한다. RET 명령어는 POP 명령어를 이용해 RSP 레지스터가 가리키는 Stack영역에 저장된 값을 RIP(EIP)에 저장 후, 해당 주소로 이동한다. -> Stack 영역에 저장된 Return address 값을 변경할 수 있다면 프로그램의 흐름을 변경할 수 있다. 1. Proof of concept 코드를 통해 CALL, RET 명령어에..
자료구조 복습용 sorting 문제입니다. - 문제 www.hackerrank.com/challenges/insertionsort2/problem Insertion Sort - Part 2 | HackerRank Code Insertion Sort itself. www.hackerrank.com 첫번째 원소가 정렬되어있다 가정하고 두번째 원소부터 삽입 정렬을 반복 후, 올바른 위치에 삽입될 때마다 배열을 인쇄한다. - 풀이 // Complete the insertionSort2 function below. void insertionSort2(int n, int arr_count, int* arr) { for (int i = 1; i < n; i++) { int key = arr[i]; for (int j..
자료구조 복습용 sorting 문제입니다. - 문제 Insertion Sort - Part 1 | HackerRank Insert an element into a sorted array. www.hackerrank.com 정렬된 리스트에 새로운 값을 오른쪽에 넣는다 하였을 때 올바른 자리에 넣기까지의 과정을 출력하라. - 풀이 // Complete the insertionSort1 function below. void insertionSort1(int n, int arr_count, int* arr) { int compare = arr[n - 1]; for (int i = n - 1; i >= 0; i--) { if (arr[i - 1] > compare) { arr[i] = arr[i - 1]; for..
# IDA Pro 7.0 사용법 1) Pseudo Code 보기 - F5, 특정 함수 이름 더블클릭 2) 디스어셈블 상태, 디버깅 상태에서 특정 어셈블리어 코드를 고치고 싶을 때 - 고칠 부분 클릭하고 Alt + F2 - Menu: edit -> other -> manual instruction -> 바꾸고 싶은 어셈블리어 구문 넣고 ok (프로그램 파일이 수정되는 것이 아니라 분석 화면에서만 바뀐다.) 3) Text View 화면과 Layout Graph 화면으로 전환 - IDA View 화면에서 Spacebar - Graph Overview 기능으로 각 함수들의 관계와 분기점들을 Graph 화면으로 보여준다. 4) Open 한 파일 정보 보기 - IDA View 화면에서 스크롤을 맨 위로 올린다. -..
# BOJ 13235번 : 팰린드롬 - 풀이 #include #include int palindrome(char x[]){ int len = strlen(x); for(int i=0; iupside_down(n2)) printf("%d", upside_down(n1)); else printf("%d", upside_down(n2)); return 0; } upside_down 함수는 입력받은 수를 newX의 값에 10을 곱하고 10으로 나눈 나머지 값을 더하는 함수로써 상근이 동생처럼 거꾸로 숫자 읽은 값을 구하는 함수이다. 입력받은 두 수를 upside_down 함수를 통해 거꾸로 읽고 두 값을 비교하여 더 큰 값을 출력한다. - 실행결과
문제를 풀기 위해 xshell로 로그인 해 주었다. ID : troll / PW : aspirin 가장 먼저 존재하는 파일들을 알아보기 위해 ls -l 명령어를 실행하였다. vampire.c 파일의 내용을 확인해 보았다. 이번엔 46번째 자리의 값이 "\xff"가 되면 안되는 것 같다. 즉, Return address에 그보다 작은 주소를 주려면 엄청 큰 값을 넣으면 될 것 같다. 일단 vampire 파일을 복사한 뒤 gdb를 사용하여 main 함수의 어셈블리 코드를 살펴보자. gdb를 통해 스택 상황을 아래와 같다고 생각해 볼 수 있다. buffer SFP RET(return) 40 4 4 argv[2]의 주소를 찾기 위해 strcpy 함수가 끝나는 지점에 bp를 걸고 실행 인자로 "A"*44 + "\..
본 포스팅은 아래 사이트의 내용을 요약한 것이다. 02.ASLR - TechNote - Lazenca.0x0 Excuse the ads! We need some help to keep our site up. List ASLR ASLR(Address Space Layout Randomization)이란? 메모리 손상 취약점 공격을 방지 하기 위한 기술 입니다.스택, 힙, 라이브러리, 등의 주소를 랜덤한 영역에 www.lazenca.net # ASLR(Address Space Layout Randomization) 메모리 손상 취약점 공격을 방지하기 위한 기술로 스택, 힙, 라이브러리 등의 주소를 랜덤한 영역에 배치하여, 공격에 필요한 Target address를 예측하기 어렵게 만든다.] 예) Return..
#게시물 삭제 -> 게시물을 삭제하는 코드이다. - 글 삭제 전 -> 글 삭제 테스트라고 되어있는 게시물을 삭제할 것이다. - 글 삭제 후 -> 글이 삭제되었다는 알람이 보여진 뒤, 목록으로 돌아가고 값이 삭제된 데이터베이스를 볼 수 있다. #사진 첨부 기능(미완) -> 사진 첨부 기능을 구현할 때, 게시글의 number가 필요한데 처음 글을 작성할 때 게시글의 number를 알아오는 방법을 알지 못해 게시글을 처음 작성할 때 이미지를 첨부하는 기능을 구현하지 못하였다. -> 이미지를 담는 데이터베이스이다. 앞의 number는 게시물의 번호를 받아와서 연결할 때 사용한다. 이미지를 선택해 주세요.