일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백준
- Sookmyung Information Security Study
- siss
- PHP 웹페이지 만들기
- CSS
- SWEA
- c++
- XSS Game
- lob
- 숙명여자대학교 정보보안동아리
- Javascript
- 자료구조 복습
- 기계학습
- Python
- 생활코딩
- BOJ Python
- 머신러닝
- hackctf
- 숙명여자대학교 정보보안 동아리
- hackerrank
- 드림핵
- WarGame
- BOJ
- HTML
- 파이썬
- 풀이
- The Loard of BOF
- C언어
- Today
- Total
목록분류 전체보기 (346)
혜랑's STORY
일단 바이너리 파일을 실행시켜 보았다. > 뒤에 입력을 받아서 AAAAAAAAAA를 입력해 주었고, Thank you! 라는 문장이 출력되며 프로그램이 종료되었다. checksec으로 바이너리 파일을 열어보자. 64bit 바이너리 파일이었고, Partial RELRO와 NX가 적용되어 있었다. Partial RELRO가 적용되어 있는 것으로 보아 got overwrite가 가능하다. IDA로 바이너리 파일을 열어보니 pwnm() 함수를 호출하고 있었고 pwnme() 함수는 read() 함수를 통해 s를 입력받은 때 선언된 s보다 더 많은 값을 입력받을 수 있어 overflow 취약점이 발생하게 된다. 함수 목록에서 usefulFunction() 함수를 발견하였다. print_file() 함수를 반환하여 ..
code #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int n, cnt = 0; int list[15]; void N_Queen(int x) { bool flag; if (x == n) cnt++; else { for (int i = 0; i < n; i++) { list[x] = i; flag = true; for (int j = 0; j < x; j++) { if (list[x] == list[j] || abs(list[x] - list[j]) == (x - j)) { flag = false; break; } } if (flag) N_Queen(x + 1); } } } int main() { ios_b..
code #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int dp[1000001]; int visited[1000001]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); memset(dp, 0, sizeof(dp)); memset(visited, 0, sizeof(visited)); int n; cin >> n; dp[1] = 0; for (int i = 2; i dp[i / 2] + 1) { dp[i] = dp[i / 2] + 1; visited[i] = i / 2; } if (i % 3 == 0 && dp[i] ..
code #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; bool visited[1001]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, num, strike, ball, cnt = 0, s_cnt, b_cnt; string temp, num_str; memset(visited, true, sizeof(visited)); for (int i = 123; i < 1000; i++) { temp = to_string(i); if (temp[0] == temp[1] || temp[1] == temp[2] || ..
code #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include using namespace std; int n, m, k; int arr[51][51]; bool visited[51][51]; int dx[4] = { 0, 0, -1, 1 }; int dy[4] = { 1, -1, 0, 0 }; void dfs(int x, int y) { int mx, ny; for (int i = 0; i = n || mx = m) continue; if (a..
code #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include using namespace std; bool visited[100001]; queue q; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, k, pos, depth; cin >> n >> k; q.push(pair(n, 0)); while (!q.empty()) { pos = q.front().first; depth = q.front().second; q.pop(); if (pos == k) break; vi..
보호되어 있는 글입니다.
보호되어 있는 글입니다.