목록분류 전체보기 (33)
Un_Woo
연산자 연산자는 값을 계산하거나 비교하는 역할을 합니다. 연산자 대입 연산자 = 산술 연산자 +, -, *, /, % 비교 연산자 >, =, 왼쪽이 오른쪽보다 크면 1, 작으면 0 = 왼쪽이 오른쪽보다 크거나 같으면 1, 작으면 0 b; //c=0 c = a=b; //c=0 c = a

변수 변수는 변하는 수입니다. 프로그램에서 변수는 선언과 초기화라는 과정을 통해 사용됩니다. 위 사진과 같이 변수를 선언할 수 있습니다. 초기화는 선언할 때 초기화할 수도 있고, 따로 초기화할 수도 있습니다. 또한 위 그림과 같이 한줄에 여러개의 변수를 선언 및 초기화할 수도 있습니다. 변수명 규칙 변수명을 지을 때는 다음과 같은 규칙을 지켜야 합니다. 다음과 같은 변수명은 사용이 불가능합니다. 또한, 대소문자를 구분하기 때문에 Number와 number는 서로 다른 변수입니다. 상수 일반적인 변수는 몇번이고 초기화가 가능합니다. 변수와 반대로 변하지 않는 값을 상수라고 합니다. 상수는 자료형 앞에 const라는 키워드를 넣어 선언합니다. 이렇게 상수를 선언하게 되면 a=2; 같은 코드로 바꾸려 하면 오..

자료형 C언어에서는 다양한 자료의 형태를 사용할 수 있습니다. 여기서 자료의 형태를 자료형이라고 합니다. 자료형에는 정수형과 실수형이 있습니다. 정수형 저희가 일반적으로 알고 있는 정수를 표현하는 자료형입니다. 음수, 0, 양수를 표현합니다. 자료형 크기 표현범위 char 1바이트 -128 ~ 127 short 2바이트 -32,768 ~ 32,767 int 4바이트 -2,147,483,648 ~ 2,147,483,647 long 4바이트 -2,147,483,648 ~ 2,147,483,647 long long 8바이트 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 크기에 따라 표와 같이 자료형이 구분됩니다. 표현범위는 크기에 따라 정해집니다. 예를 들어..

지난번에는 간단하게 소스코드를 작성하고 실행해봤습니다. 이번에는 소스코드의 의미를 한번 알아보겠습니다. include 맨 첫줄에 보이는 #include 는 stdio.h라는 헤더 파일을 포함시키라는 의미입니다. stdio.h에는 표준입출력 라이브러리로 C프로그램에 필요한 기본적인 요소들이 포함되어 있습니다. 지난번에 사용한 printf 함수 또한 포함하고 있습니다. 필요한 요소들을 헤더 파일로 따로 정의해서 include로 포함시킬 수 있습니다. 이런 식으로 포함시키면 자주 사용하는 요소를 매번 소스코드에 새로 적을 필요가 없어집니다. int main(){} 이것은 main 함수입니다. main 함수는 프로그램에서 제일 먼저 실행되는 함수입니다. 시작과 끝은 중괄호 {}로 표시합니다. printf(); ..

Dev-C++이란? Dev-C++은 무료 C/C++ 통합 개발도구입니다. Visual Studio은 너무 무거워서 가볍게 공부하시는 분들에게 추천드립니다. Dev-C++ 설치 sourceforge.net/projects/orwelldevcpp/ Dev-C++ Download Dev-C++ for free. A free, portable, fast and simple C/C++ IDE. A new and improved fork of Bloodshed Dev-C++ sourceforge.net 링크에 들어가시면 무료로 설치하실 수 있습니다. 설치 파일을 실행시키고 한국어를 고르신 후 쭉 진행하시면 됩니다. Dev-C++ 테스트 설치가 끝났으면 실행시켜서 테스트로 소스코드를 만들어 보겠습니다. 파일 -> 새..
14. giant if(strlen($_GET[shit])>1) exit("No Hack ~_~"); shit 길이 %0a, %09, %0b, %0c, %0d, /**/ %0b, %0c로 우회 가능 ?shit=%0b
13. Bugbear if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); pw 에서 ‘ 필터링 if(preg_match('/\'|substr|ascii|=|or|and| |like|0x/i', $_GET[no])) exit("HeHe"); no 에서 ‘, substr, ascii, =, or, and, like, 0x, 스페이스바 필터링 $query = "select id from prob_bugbear where id='guest' and pw='{$_GET[pw]}' and no={$_GET[no]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_bugbear where id='admin' a..
12. darkknight if(preg_match('/\'/i', $_GET[pw])) exit("HeHe"); pw에서 ‘ 필터링 if(preg_match('/\'|substr|ascii|=/i', $_GET[no])) exit("HeHe"); no에서 substr, ascii, =, ‘ 필터링 $query = "select id from prob_darkknight where id='guest' and pw='{$_GET[pw]}' and no={$_GET[no]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_darkknight where id='admin' and pw='{$_GET[pw]}'"; if(($result['p..
11. golem if(preg_match('/or|and|substr\(|=/i', $_GET[pw])) exit("HeHe"); or, and, substr, = 필터링 $query = "select id from prob_golem where id='guest' and pw='{$_GET[pw]}'"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_golem where id='admin' and pw='{$_GET[pw]}'"; if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("golem"); pw를 맞춰야 하므로 블라인드 인젝션 =을 사용할 수 없으므로 like로 우회 ..