일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 숙명여자대학교 정보보안 동아리
- WarGame
- 머신러닝
- PHP 웹페이지 만들기
- hackerrank
- lob
- XSS Game
- 풀이
- 자료구조 복습
- 숙명여자대학교 정보보안동아리
- BOJ
- hackctf
- Sookmyung Information Security Study
- BOJ Python
- Javascript
- c
- c++
- 생활코딩
- C언어
- Python
- 파이썬
- 웹페이지 만들기
- siss
- 기계학습
- SWEA
- 백준
- 드림핵
- HTML
- CSS
- The Loard of BOF
- Today
- Total
목록숙명여자대학교 정보보안동아리 (74)
혜랑's STORY
#메인페이지 로그인하고 레시피 공유해요! 회원가입 지브리가 반해버린 그 맛! 하울정식 라면 오므오므오므라이스 /*main.css*/ body{ background-color: #FFF7DE; font-family: 'Nanum Pen Script', cursive; margin: 0; } .logo-size{ width: 276px; height: 68px; } .search-from{ background-color: white; width: 586px; height: 30px; vertical-align: middle; } .input-text{ width: 516px; height: 30px; background: none; border: 0px; resize: none; } table{ margin..
일단 Create timer를 눌러 보았더니 다음과 같은 결과가 나왔다. 코드를 살펴본 결과 onload를 이용해 startTimer 함수를 실행시키고 있다. (startTimer 함수란, 자바스크립트에서 제공하는 타이머 함수이다.) 따라서 startTimer 함수 뒤에 이어서 alert 함수를 실행시키면 된다고 생각하였다. 3'); alert(''); (' -> 코드에서 괄호와 '의 짝을 맞춰주기 위해 저러한 입력을 실행 함. 결과는 성공이다.
# BOJ 2748번 : 피보나치 수 2 - 풀이 #include int main(){ int n; long long fibo[91]; fibo[0] = 0; fibo[1] = 1; scanf("%d",&n); for(int i=2; i=2)는 n-1번째와 n-2번째 수의 합이라는 것을 알 수 있다. 따라서 2번째 피보나치 수를 구하기 위해서는 0번째와 1번재 수가 필요하기 때문에 둘에 미리 값을 넣어 주었다. 그 뒤, n번째 수가 될 때까지 n-1번째와 n-2번째 수를 더해주면 된다. 이때, 주의해야 할 점은 90번째 값이 int 형의 범위를 넘어가기 때문에 범위가 더 큰 long long 형으로 지정해 주어야 한다는 점이었다. - 실행결과 # BOJ 2750번 : 수 정렬하기 - 풀이 #include..
문제를 풀기 위해 xshell에 로그인 해 주었다. ID : cobolt / PW : hacking exposed 가장 먼저 존재하는 파일을 알아보기 위해 ls -l 명령어를 실행하였다. goblin.c 파일의 내용을 확인해 보자. Lv.2와 같이 버퍼에 16 바이트를 할당하고 있어 쉘코드를 담기엔 충분하지 않다. 앞선 문제와 다른 점은 strcpy가 아닌 gets 함수를 사용한다는 점이다. 그러나 gets 함수 또한 문자열의 길이를 검사하지 않는 취약점이 존재한다. 앞에서 실행인자에 쉘코드를 전달하는 방법을 사용했기 때문에 이번엔 환경변수를 선언하여 문제를 해결하려 한다. 환경변수를 선언하는 방법은 다음과 같다. export SHELLCODE=`python -c 'print "\x90"*100 + "\..
문제를 풀기 위해 xshell에서 로그인 해 주었다. Id : grmlin / Pw : hello bof world 가장 먼저 존재하는 파일을 알아보기 위해 ls-l 명령어를 실행하였다. 그 결과 cobolt.c 파일과 cobolt라는 파일이 있는 것을 확인할 수 있다. cobolt 파일은 colbolt.c 파일을 컴파일하여 만들어진 파일인 것 같다. cobolt.c 파일을 열어 내용을 확인해 보았다. Lv.1 문제와 같이 strcpy 함수를 사용하여 문자열의 길이를 검사하지 않는다는 취약점이 있었다. 그러나 이번 문제에서는 buffer에 16바이트를 할당하였기 때문에 버퍼에 공격 코드를 담기엔 충분하지 못하다. 일단 권한 문제를 해결하기 위해 cp 명령어를 통해 복사를 해주었고, 그 결과 gremlin..
- 문제 - 풀이 이전 문제들과 다르게 level 3은 응용 프로그램에서 페이로드(payload)를 입력할 수 없었다. 따라서 URL 표시줄에서 주소를 수동으로 편집해야 하는데 일단 주소가 어떤식으로 이루어지는지 알아보기 위하여 다른 이미지 사진들로 변경한 뒤, 주소의 변화를 알아보기로 하였다. "Image _" 버튼을 눌러 각 번호에 맞는 이미지를 보이도록 하였다. 주소를 살펴보니 다음과 같은 변화를 보였다. Image 1 클릭 -> /frame#1 Image 2 클릭 -> /frame#2 Image 3 클릭 -> /frame#3 즉, frame#____의 형식으로 내가 원하는 공격을 실행할 수 있을 것 같다. 더 자세히 알아보기 위하여 코드를 살펴보자. 코드를 살펴본 결과 html += 의 형식으로 ..
#BOJ 2941번 : 크로아티아 알파벳 - 풀이 #include int main(){ char str[101]; int cnt = 0; scanf("%s", str); for(int i=0; str[i]; i++){ if(str[i] == 'c') if(str[i+1] == '-' || str[i+1] == '=') i++; if(str[i] == 'd'){ if(str[i+1] == '-') i++; else if(str[i+1] == 'z' && str[i+2] == '=') i += 2; } if(str[i] == 'l' || str[i] == 'n') if(str[i+1] == 'j') i++; if(str[i] == 's' || str[i] == 'z') if(str[i+1] == '=') i..
#XSS Game 02 문제 #XSS Game 02 문제 풀이 먼저, Level 01에서 했던 방식대로 결과를 확인해보니 아무일도 일어나지 않았다. 다른 방법으로 링크 태그로 자바스크립트를 실행해보았다. link tage 결과는 다음과 같다. 링크가 메세지에 잘 들어가 있었고, 링크를 눌러보니 공격에 성공했다는 메시지를 얻을 수 있었다. 문제는 해결하였지만 힌트에서는 이벤트 속성 중 "onerror"를 사용하라는 것을 확인하였고 문제에서 주어진 힌트를 활용하여 문제를 풀어보도록 하자. img 태그를 사용할 때, scr의 경로가 해당 파일에 없을 때 에러를 낼 수 있는데 이를 이용하여 onerror를 유발하는 방법이다.