일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hackctf
- 드림핵
- 생활코딩
- HTML
- The Loard of BOF
- 파이썬
- SWEA
- 머신러닝
- hackerrank
- 풀이
- BOJ
- 자료구조 복습
- PHP 웹페이지 만들기
- Javascript
- WarGame
- c++
- lob
- 웹페이지 만들기
- C언어
- 기계학습
- BOJ Python
- siss
- 백준
- c
- XSS Game
- Sookmyung Information Security Study
- 숙명여자대학교 정보보안 동아리
- 숙명여자대학교 정보보안동아리
- CSS
- Python
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
Practice > Algorithm > Strings 문제 code char* funnyString(char* s) { char* r = malloc(sizeof(char)*strlen(s)); for(int i=0; i
Practice > Algorithm > Dynamic Programming 문제 code int cost(int B_count, int* B) { int dp[3][100001] = {0}; int max = 0; for(int i=1; i dp[2][i-1]) ? dp[1][i-1] : dp[2][i-1]); dp[1][i] = abs(B[i] - B[i-1]) + ((dp[1][i-1] > dp[2][i-1]) ? dp[1][i-1] : dp[2][i-1]); dp[2][i] = abs(B[i] - 1) + dp[0][i-1]; } for(int i=0; i
문제 해결에 필요한 파일들을 모두 다운받고 실행시켜 보았다. 모두 대문자로 입력하였는데 대문자와 소문자가 번갈아가며 출력되는 것을 볼 수 있다. checksec을 통해 보호기법을 확인해 보았는데 64bit 바이너리 파일이고 NX가 걸려있는 것을 확인할 수 있었다. IDA로 확인해보니 main 함수에서 convert_case()와 do_stuff()를 호출하고 있었고 각 함수의 수도코드를 확인하니 do_stuff() 함수에서 s를 __isoc99_scanf("%[^\n]", s); 로 입력을 받아 주고 있다. c언어에서 %[^\n]이 의미라는 바는 개행문자를 제외한 모든 문자를 입력받는 것으로 gets(s); 와 같은 역할을 하게 된다. 즉, 이 코드에서 overflow가 발생하게 된다. GDB Explo..
HackCTF의 Cryptography 중 Smooth CipherText 라는 문제이다. 문제를 열어보니 알아볼 수 없게 문장이 주어졌다. 맨 마지막줄에는 문장의 형식으로 보아 flag도 주어진 것 같다. flag의 형식을 보아 LymoADJ가 HackCTF라는 것을 알 수 있었고, 이를 바탕으로 암호를 찾아 보았다. 그 결과 비즈네르 암호를 알게 되었다. 비즈네르 표는 원문 알파벳 아래에 26가지 사이퍼 알파벳이 나열되어 있고, 사이퍼 알파벳은 한 줄 내려갈 때마다 한 자씩 뒤로 이동하게 되며 1번 줄을 1칸 이동 카이사르 암호 알파벳과 동일하다. 암호문 작성 시 한가지 사이퍼 알파벳만 사용하게 되면 보안성이 낮은 카이사르 알파벳과 동일하여 이를 보완하기 위해 키워드를 이용한다. 키워드는 수신자와 송..
이번에 해결 할 문제는 2진수로 표현되어 있는 문자열을 복호화하여 flag를 얻는 문제였다. 01001000 01100001 01100011 01101011 01000011 01010100 01000110 01111011 01100011 01110010 01111001 01110000 01110100 01101111 01011111 01110110 00110010 01110010 01111001 01011111 01100101 01100001 01110011 01111001 01011111 01110000 01110010 00110000 01100010 00110001 01100101 01101101 01111101 파일을 다운받자 위와 같이 이진수로 나타내진 문자열을 발견할 수 있었다. 이를 파이썬 코..