일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ Python
- Python
- 생활코딩
- Javascript
- The Loard of BOF
- 백준
- c
- 기계학습
- BOJ
- 웹페이지 만들기
- 파이썬
- 숙명여자대학교 정보보안동아리
- SWEA
- hackctf
- siss
- CSS
- c++
- hackerrank
- WarGame
- 자료구조 복습
- XSS Game
- 풀이
- C언어
- 드림핵
- PHP 웹페이지 만들기
- lob
- HTML
- 숙명여자대학교 정보보안 동아리
- Sookmyung Information Security Study
- 머신러닝
- Today
- Total
목록숙명여자대학교 정보보안동아리 (74)
혜랑's STORY
#SWEA 8658번 : Summation - 풀이 10개의 수를 입력받고 각 자리 수의 합을 구한다. 10개의 자리 수의 합 중 가장 큰 값과 가장 작은 값을 출력하면 된다. 이때 자리 수의 합을 구하는 방법으로 while문을 사용하여 num이 0이 아닐때까지 result[i]값에 num을 10으로 나눈 나머지 즉, 일의 자리 수를 더하고 num을 10으로 나눠주는 것을 반복한다. - 코드 #include #include int main() { int T, num; scanf("%d", &T); for (int tc = 1; tc max) max = result[i]; if (min > result[i]) min = result[i]; } printf("#%d %d %d\n", tc, max, min)..
# 문서 편집 : gedit 혹은 vi 에디터를 사용하여 자기를 소개하는 글을 작성하시오. 작성한 파일에 대해서 다음 명령을 실행하시오. # 프로그램 작성 : 입력으로 받은 텍스트를 줄의 길이에 따라 정령하여 출력하는 c 프로그램을 작성하시오. 다중 모듈 프로그램으로 작성하시오. - 파일 구성 : 텍스트 입력 + 정렬하는 프로그램 파일(파일이름.c) / copy.c / copy.h # 컴파일 및 실행(gcc 사용) # gdb 사용(디버깅) -> from과 to를 출력하지 못하였다... 뭐가 잘못된걸까.. 다시 시도해봐야할 것 같다... # make 사용
# 프로그램 작성과 컴파일 - gedit 문서편집기 GNU의 대표적인 GUI 텍스트 편집기 GNOME 환경의 기본 편집기 : 텍스트, 프로그램 코드, 마크업 언어 편집에 적합 / 깔끔하고 단순한 GUI - gedit 메뉴 파일 : 새로 만들기, 열기, 저장, 되돌리기, 인쇄 편집 : 입력취소, 다시 실행, 잘라내기, 복사, 붙여넣기, 삭제 보기 : 도구모음, 상태표시줄, 전체화면, 강조 모드 검색 : 찾기, 바꾸기, 줄로 이동 도구 : 맞춤법 검사, 오타가 있는 단어 강조, 언어 설정, 문서 통계 문서 : 모두 정장, 모두 닫기, 새 탭 그룹, 이전 문서 - 단일 모듈 프로그램 : gedit를 이용한 프로그램 작성 C 프로그램을 컴파일한다. 옵션을 사용하지 않으면 실행파일 a.out를 생성한다. [옵션]..
#SWEA 8888 : 시험 - 풀이 이 문제를 해결하기 위해 필요한 값은 ①문제 배점, ②각 참가자의 점수, ③각 참가자의 맞은 문제의 수 정도로 나눌 수 있을 것 같다. ①문제 배점 구하는 방법 - 문제의 배점은 해당 문제를 몇 명의 참가자가 틀렸는지 결정하게 된다. 즉, 각 참가자들의 정보를 입력받을 때 '0'을 입력받으면 문제 배점에 1을 더해주면 되는 것이다. ②각 참가자의 점수, ③각 참가자의 맞은 문제의 수 구하기 - 각 참가자의 점수를 구하는 것과 각 참가자의 맞은 문제의 수를 구하는 것은 동시에 진행할 수 있다. 각 문제를 맞췄다면 ①문제 배점에서 구해둔 점수를 해당 참가자의 점수표에 더하고, 맞춘 문제의 수를 1 증가시켜주면 된다. 문제가 길어서 어렵게 생각했지만 생각보다 어렵지 않은 ..
# SWEA 8104 : 조 만들기 - 풀이 이 문제의 핵심은 한 조당 1~N줄의 학생이 있다고 생각하고, 홀수 행일 때 순차적으로 숫자를 더해주고, 짝수일 때 역순으로 숫자를 더하는 것이다. - 코드 #include #include int main() { int T, N, K; scanf("%d", &T); for (int tc = 1; tc
# Broken Auth - Insecure Login Forms - low level 해결 : 소스코드를 살펴본 뒤, 로그인 할 수 있는 정보를 찾아 접속하기 이 소스코드를 살펴보면, 아이디와 비밀번호가 흰색 글자로 숨겨져 있다는 것을 알 수 있다. 따라서 아이디에 'tonystark', 비밀번호에 'I am Iron Man'을 입력하면 로그인 할 수 있다. - medium level 해결 : 소스코드를 살펴본 뒤, 로그인 할 수 있는 정보를 찾아 접속하기 이 소스코드를 찾아보면, charAt(N)함수를 이용하여 bWAPP의 문자열의 N번째 문자를 반환하는 비밀번호흫 가진다는 것을 알 수 있다. 따라서 secret 값을 해석하면 'hulk smash!'라는 값을 가진다는 것을 알 수 있다. # Robo..
# MISSION. 데이터베이스에 접속하여 hero들의 secret들을 빼오자. - Low Level (1) SQL Injection이 통하는지 아닌지 확인하고, 만약 SQL Injection이 된다면 데이터베이스의 서버 종류가 무엇인지 확인하여라. -> 페이지 소스코드가 "/bWAPP/sqli_3.php"에 저장되어 있으며, 소스코드를 확인해 본 결과 데이터베이스 형식으로 저장하고 있다는 것을 알 수 있었다. -> 데이터베이스에서 작은따옴표(')를 통하여 문자열을 구분한다는 특성을 이용하여 [Login] 칸에 작은따옴표를 입력하여 데이터베이스 서버의 종류가 "MySQL"이라는 사실을 확인할 수 있다. (2) login에 주석문자를 넣어 항상 참이된는 쿼리를 삽입하면 아래와 같이 neo라는 이름으로 접속..
# SWEA 8338 : 계산기 - 풀이 수를 입력받고 이전 값에 더한 값과 곱한 값 중 더 큰 값을 실행해주면 된다. (우선 순위를 고려하지 않고 왼쪽에서 오른쪽으로 차례대로 계산하기 떄문에 가능하다.) - 코드 #include #include int main() { int T, N; scanf("%d", &T); for (int tc = 1; tc max * num) max += num; else max *= num; } printf("#%d %d\n", tc, max); } return 0; } - 실행결과 # SWEA 8931 : 제로 - 풀이 이 문제를 쉽게 해결하기 위하여 STACK(스택) 개념을 이용하였다. *STACK이란? 컴퓨터에서 사용되는 기본 데이터 구조 중 하나로 데이터를 후입선출(..