일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CSS
- Javascript
- 머신러닝
- WarGame
- 생활코딩
- BOJ Python
- 풀이
- 자료구조 복습
- siss
- XSS Game
- hackerrank
- 백준
- lob
- 웹페이지 만들기
- Sookmyung Information Security Study
- BOJ
- The Loard of BOF
- 숙명여자대학교 정보보안동아리
- SWEA
- C언어
- PHP 웹페이지 만들기
- 드림핵
- hackctf
- 파이썬
- Python
- HTML
- 기계학습
- 숙명여자대학교 정보보안 동아리
- c
- c++
- Today
- Total
목록2021 SISS 21기 활동 (136)
혜랑's STORY
# 공부할 때 사용한 자료 https://penggu.tistory.com/47 [스크랩] PHP란, PHP의 동작원리 Celestia님의 블로그에서 퍼온 글입니다. 이 글을 보고 PHP의 동작원리에 대해서 이해하는 데에 많은 도움이 되었습니다. 문제가 될 시 삭제 조치 하도록 하겠습니다. 좋은 글을 써주신 Celestia님 감 penggu.tistory.com https://opentutorials.org/course/3130/19316 수업의 목적 - 생활코딩 수업의 목적 2018-01-19 23:53:02 opentutorials.org http://docs.php.net/manual/kr/ PHP: PHP 매뉴얼 - Manual docs.php.net # PHP의 원리 PHP는 Server-sid..
# XSS Game 01 문제 # XSS Game 01 문제 풀이 먼저, Target code를 살펴보자. 코드를 살펴보니 XSS 필터를 비활성화 해 놓은 것을 볼 수 있다. 실제로 사용자 입력이 그대로 출력되는지 알아보기 위하여 임의의 HTML 코드를 삽입해 보았다. Hello 을 입력하자 아래와 같이 URL에 똑같이 출력되어 나오고 Hello가 출력되는 것을 확인할 수 있었다. 따라서 이번 문제를 해결하기 위해 서버에서 사용자의 입력값을 필터링하지 않는다는 것을 이용하기로 하였다. 미션이었던 자바스크립트 alert()을 삽입하기 위하여 를 입력해주었고, 아래와 같이 성공하였다는 메시지를 얻을 수 있었다.
#1 두 개의 문자열 s1, s2를 입력 받고, s1과 s2에 같은 index에 있는 문자들을 비교해서 같으면 O, 다르면 X를 출력하시오. ※조건 문자열의 길이는 모두 30을 넘지 않음 문자 비교 중 공백일 경우 X를 출력함 포인터 사용 - 풀이 문자열1, 문자열2, 인덱스 번호를 파라미터로 가지는 함수 compare()를 만든다. 이 함수는 각 문자열의 인덱스 값을 비교하고 같으면 flag에 1을 대입하고 아니면 초기의 -1값을 반환하도록 하였다. main 함수에서 while문을 둘 중 더 긴 문자열이 끝날때 까지 수행하도록 하기 위하여 두 문자열 중 더 긴 값을 n에 저장해 주었다. while문은 compare을 통해 얻은 값이 1이라면 같은 문자라는 의미이기 때문에 'O'를 출력하고, 아니면 'X..
Bandit Level 0 터미널 창을 열고 ssh bandit0@bandit.labs.overthewire.org -p220을 입력한다. (ssh서버에 포트 2220을 사용해서 접속하겠다는 뜻) 비밀번호는 bandit0을 입력한다. 접속 완료! Level 0 -> Level 1 힌트로 "ls, cd, cat, file, du, find"가 주어졌다. 하나씩 입력하여 비밀번호를 찾아보자 ls를 통하여 현재 디렉토리에 존재하는 파일의 목록을 살펴보았다. 그 결과 readme 파일이 존재한다는 것을 확인하였고 cat 명령어를 통해 readme 파일의 내용을 살펴보았다. readme 파일은 boJ9jbbUNNfktd78OOpsqOltutMc3MY1 이라는 내용을 담고 있었고 이 값이 Level1로 가는 비밀번..
#4 프로그램 구동 시 Segment에서는 어떤 일이? 프로그램이 실행되어 프로세스가 메모리에 적재되고 메모리와 레지스터가 어떻게 동작하는지 알아보기 위하여 간단한 프로그램 예를 들어 보았다. void function(int a, int b, int c){ char buffer1[15]; char buffer2[10]; } void main(){ function(1, 2, 3); } 실행 결과 이러한 결과가 나왔다. simple.c 프로그램이 컴파일 되어 실제 메모리 상에 어느 위치에 존재할지 알아보기 위해 컴파일 한 뒤, gdb를 이용하여 어셈블리 코드와 메모리에 적재될 logical address를 살펴보도록 하자. 앞에 붙어 있는 주소가 logical address이다. 이 주소를 자세히 보면 fu..
1. XSS(Cross-site-Scripting) 공격이란? 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의도치 않은 행동을 수행시키거나, 주로 사용자의 정보(GET, POST, COOKIE, SESSION 등)를 탈취하기 위하여 특수 문자나 예약어, 스크립트를 나타내는 (, ), !, @, {, }, \n, \t, \0, ', ", >, 스크립트 태그로 자바스크립트를 실행 예제 설명 -> 스크립트 태그의 스크립트를 실행시킨다. 브라우저단에서 필터링 해주는 경우도 있으나 아래와 같이 예외 코드도 있다. 2) 자바스크립트 태그 방법 -> 링크 태그로..
#BOJ 10809 : 알파벳 찾기 - 풀이 search() 함수는 알파벳이 등장하는 위치를 알아내기 위한 함수이다. 만약 단어의 i번째에 알파벳이 위치한다면, i를 반환하고 그렇지 않으면 초기에 설정해둔 -1값을 반환한다. 알파벳의 처음부터 끝까지 -1 또는 등장하는 위치를 출력해야 하기 때문에 alpha라는 배열에 a-z까지 넣은 배열을 생성하였다. 단어 S를 입력받고 a-z까지 앞에서 만들어둔 search() 함수를 이용하여 위치값 또는 -1을 출력한다. - 코드 #include #include int search(char *x, char y){ int n = -1; for(int i=0; x[i]; i++){ if(x[i] == y){ n=i; break; } } return n; } int ma..
#1 목적 이 문서는 시스템에서 원하는 명령을 실행시키기 위해 사용되는 Buffer Overflow 공격에 대한 원리와 지식들을 설명한다. 즉, Buffer Overflow 공격이 어떻게 이루어지는지, 이러한 공격이 가능하게 되는 그 원리와 컴퓨터 시스템의 기본 구조에 대해서 설명하고 있다. #2 8086 Memory Architecture 8086 시스템의 기본적인 메모리 구조는 위 그림과 같다. 시스템이 초기화 되기 시작하면 시스템은 커널을 메모리에 적재시키고 가용 메모리 영역을 확인한다. 시스템은 운영에 필요한 기본적인 명령어 집합을 커널에서 찾기 때문에 커널 영역은 반드시 저 위치에 있어야 한다. 32bit 시스템에서는 CPU가 한꺼번에 처리할 수 있는 데이터가 32bit 단위이므로, 메모리 영역..