일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- c++
- 생활코딩
- HTML
- 파이썬
- 머신러닝
- 기계학습
- c
- hackctf
- PHP 웹페이지 만들기
- The Loard of BOF
- 백준
- 풀이
- 웹페이지 만들기
- Python
- C언어
- 자료구조 복습
- WarGame
- CSS
- 숙명여자대학교 정보보안 동아리
- 드림핵
- Javascript
- lob
- siss
- XSS Game
- BOJ
- BOJ Python
- 숙명여자대학교 정보보안동아리
- Sookmyung Information Security Study
- hackerrank
- SWEA
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
Volatility 플러그인 : https://schmidtiana95.tistory.com/entry/Volatility 1. What the password? You got a sample of rick's PC's memory. can you get his user password? 먼저 메모리 덤프 파일의 프로파일 정보를 imageinfo 플로그인을 사용하여 출력해 보았다. profile은 Win7SP1x64를 사용하고 메모리상의 파일 오브젝트 전체 검색을 위해 hivelist 플러그인을 사용했다. 위에서 얻은 주소를 가지고 비밀번호가 있을 것 같은 sam을 hashdump를 통해 계정의 해시를 추출했다. 위와 같이 암호화된 해쉬값으로 출력되었다. 마지막으로 lsadump를 사용하여 인증정보에 관..
1. checksec 32비트 파일이고, NX가 걸려있다. 문제 이름처럼 rop를 사용하여 해결하는 것 같다. 2. IDA main() 함수 vulnerable_function() 함수 즉, vulnerable_function() 함수에서 buf의 크기보다 더 많이 입력을 받아 overflow가 발생한다. 3. Debug [Break Point] 0x084844b : vulnerable_function() 함수 코드 첫 부분 0x0848465 : read() 함수 호출 전 프로그램을 실행할 수 없다고 한다. 따라서 파일의 권한을 변경하고 다시 실행해 보았다. 즉, 문자를 140개 이상 입력하면 Return Address를 덮을 수 있다. [확인해야 할 정보 목록] 쓰기 가능한 영역 read(), writ..
https://github.com/hyerang0125/TIL/tree/master/SISS/System hyerang0125/TIL Contribute to hyerang0125/TIL development by creating an account on GitHub. github.com 깃 허브에서 계속 작성을 할 까 고민을 했지만 캡쳐했던 사진을 이슈에 올렸다가 그걸 다시 옮기는게 너무 귀찮아서 다시 티스토리를 사용하려고 한다.
2021년도 1학기 6주차 과제(자료구조 복습용 tree) 문제 링크 : https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem 문제 요약 : 트리의 height를 구하여라. (이 문제에서는 edge 수를 height라고 한다.) 풀이 int getHeight(struct node* root) { // Write your code here if(!root) return -1; else{ int left_h = getHeight(root->left); int right_h = getHeight(root->right); return 1 + (left_h > right_h ? left_h : right_h); } } 만약 root가..
IDA로 rtl_world 살펴보기 // main() 함수 dlsym() 함수는 c언어에서 사용하는 함수로 두 번째 인자의 주소를 첫 번째 인자(라이브러리)에서 찾아서 변수에 저장한다. 즉, system의 주소는 v6에 "/bin/sh"의 주소는 s1에 저장된다. case 1을 보아 보호기법이 전혀 존재하지 않는 것 같다. case 2는 Get_Money() 함수를 실행시킨다. case 3은 gold를 1999만큼 빼고, system()의 주소를 노출(leak)한다. case 4는 gold를 2999만큼 빼고, shell("/bin/sh")의 주소를 노출(leak)한다. case 5는 buf의 크기보다 더 많이 입력을 받는다.
[출처] http://forensic-proof.com/ https://k-dfc.tistory.com/34 0. 저장장치 구조 모든 메모리는 바이트의 배열을 제공하며, 각 바이트는 주소값을 가지고 있다. 폰 노이만 구조 시스템에서 실행되는 전형적인 명령-실행 사이클에서는 먼저 메모리에서 명령을 가져와 그 명령을 명령 레지스터(Instruction register; IR)에 저장하고 명령을 해독한다. **주기억장치**는 모든 것들을 전량 기록하고 전력이 차단되면 해당 값들이 다 사라지는 **휘발성 메모리**이다. 이러한 한계를 극복하려면 다른 저장장치의 힘을 빌리는데 이를 **보조기억장치**라고 한다. (SSD, HDD 등) **SSD, HDD에서는 메모리에 적재되는 시점까지 거의 대부분의 프로그램이 저..
2021년도 1학기 5주차 과제(자료구조 복습용 tree) 1. InOrder Tree: Inorder Traversal | HackerRank Print the inorder traversal of a binary tree. www.hackerrank.com [설명] Inorder(중위 순회)는 루트의 왼쪽 서브 트리를 방문한 뒤 루트를 방문하고 오른쪽 서브 트리를 가장 나중에 방문한다. 왼쪽 서브 트리와 오른쪽 서브 트리에 대해서 재귀적으로 이 과정을 반복한다. 풀이 void inOrder( struct node *root) { if(root){ inOrder(root->left); printf("%d ",root->data); inOrder(root->right); } } root가 존재할 때, 왼..
자료구조 복습용 sorting 문제입니다. -문제 Quicksort 1 - Partition | HackerRank Perform the first step of Quicksort: partitioning an array. www.hackerrank.com 퀵 정렬을 할 때, pivot을 arr[0]으로 사용하여 left, equal, right을 분류하고 그 리스트를 반환한다. - 풀이 int* quickSort(int arr_count, int* arr, int* result_count) { int *result = (int*)malloc(sizeof(int)*arr_count); int *left = (int*)malloc(sizeof(int)*arr_count); int *equal = (int*..