본문 바로가기
반응형

전체 글65

6장(반복문) 연습문제 #C언어 콘서트 1. int x; for(x=0; x 2022. 7. 30.
Serial Write-Up #Sharif University CTF 2016 Points : 150 Solves : 108 Description : Run and capture the flag! 실행을 하면 문자열을 입력 받는다. 올바른 시리얼 넘버를 찾는 문제인 것 같다. 동적분석 하면서 찾은 첫번째 비교문이다. strlen 으로 0x10과 비교하고 있다. 입력 문자열의 길이는 10인 것을 알 수 있다. 첫번째 문자와 비교하는 부분이다. rbp-200h에 입력한 문자열이 들어간다. 첫번째 문자 : E rbp-200h가 문자열의 시작이라면, rbp-1F1은 문자열의 맨 마지막이다. 첫번째 문자(E) + x = 0x9B가 되어야 한다. 마지막 문자 : V (0x56) 두번째 문자와 비교하는 부분이다. 두번째 문자 : Z 두번째 문자와 문자열의 맨 마지막에서 두번째의 문자를 더한 값.. 2022. 7. 26.
SRM Write-Up #Sharif University CTF 2016 Points : 50 Solves : 173 Description : The flag is : The valid serial number 실행을 하면 E-Mail과 Serial Number를 입력하게 나온다. 아무 문자열을 넣고 OK를 누르니 Your E-mail address in not vaild가 나온다. DialogFunc에 들어가보니 Your E-mail address in not valid가 있고, 36번 줄에서 조건을 검사한다. 문자열에는 @와 .이 포함되어야 하며, . 뒤에는 문자 하나가 있어야 하고, @ 뒤에는 .이 오면 안된다. ABCD@ABCD.com 등으로 한다. 40번 줄부터는 Serial Number를 만드는 조건이다. string = "" string += chr(67) str.. 2022. 7. 23.
dMd Write-Up #Sharif University CTF 2016 Points : 50 Solves : 243 Description : Flag is : The valid input 64비트의 ELF 파일이다. 실행하면 입력칸이 나오고, 올바르지 않은 문자열을 입력하면 Invalid Key! :( 가 나온다. IDA로 열었을때, 50번째 줄을 보면 입력한 문자열을 md5로 해시화하고 if문에서 한글자씩 비교한다. if문에서 검사하는 문자열은 780438d5b6e29db0898bc4f0225935c0 이다. md5는 레인보우 테이블이 많이 있으므로, 온라인 디코더로 확인 해보면 된다. https://www.md5online.org/md5-decrypt.html MD5 Online | Free MD5 Decryption, MD5 Hash Decoder www.md5onli.. 2022. 7. 22.
5장(조건문) Programming #C언어 콘서트 1. 사용자로부터 정수를 받아서 홀수인지 짝수인지를 출력하는 프로그램을 작성하라. 정수를 입력하시오: 2 2 은 짝수입니다. #include int main() { int a; printf("정수를 입력하시오: "); scanf("%d", &a); if(a % 2 == 0) printf("%d 은 짝수입니다.\n", a); else printf("%d 은 홀수입니다.\n", a); return 0; } 2. 사용자가 신호등의 색깔을 입력하면 "정지", "주의", "진행"와 같은 문장을 출력하는 프로그램을 작성해보자. 한 문자를 입력받을 때는 getchar() 함수를 사용한다. 신호등의 색깔 입력 (R, G, Y): r 정지! #include int main() { char color; printf("신호.. 2022. 7. 21.
5장(조건문) 연습문제 #C언어 콘서트 1. 두 개의 피연산자가 모두 참인 경우에만 참이 되는 논리 연산자는? - && 2. 수식 !(1 + 1 >= 2)의 결과값은 얼마인가? - 0 3. 다음 중에서 참인 수식을 모두 선택하시오. - 1, 0.1, -1 4. 다음 코드의 실행결과는? int x = 5; if(x < 10) printf("10보다 작음\n"); else if(x == 5) printf("5와 같음\n"); else printf("5와 같지 않음\n"); - 10보다 작음 5. 다음 코드의 실행결과는? int x = 0; if (x==1) if(x==0) printf("if 절\n"); else printf("else if 절\n"); else printf("else 절\n"); - else 절 6. 다음 코드의 실행결과는? i.. 2022. 7. 20.
4장(수식과 연산자) Programming #C언어 콘서트 1. 사용자로부터 2개의 정수를 받아서 첫 번째 정수를 두 번째 정수로 나누었을 때의 몫과 나머지를 계산하는 프로그램을 작성하라. 예를 들어서 10과 3이 입력되면 몫으로는 3, 나머지로는 1이 출력되어야 한다. 첫 번째 정수를 입력하시오: 10 두 번째 정수를 입력하시오: 3 몫은 3이고 나머지는 1입니다. #include int main() { int a, b; printf("첫 번째 정수를 입력하시오: "); scanf("%d", &a); printf("두 번째 정수를 입력하시오: "); scanf("%d", &b); printf("몫은 %d이고 나머지는 %d입니다. \n", a/b, a%b); return 0; } 2. 사용자로부터 하나의 정수를 받아서 정수의 세제곱값을 계산하여 출력하는 프로그램.. 2022. 7. 19.
4장(수식과 연산자) 연습문제 #C언어 콘서트 1. 수식에서 어떤 연산자들이 먼저 계산되는지를 결정하는 것을 무엇이라고 하는가? - 우선순위 2. C프로그램에서 수식 7/9*9은 얼마로 계산되는가? - 0 3. 변수 x, y는 int x=10; int y=20;으로 선언되어 있다고 하자. 다음 중 올바른 수식이 아닌 것은? - 30 = x + y; 4. 다음 코드의 실행결과는? #include int main(void) { int i = 5; i = i /3; printf("%d \n", i); return 0; } - 1 5. 다음 코드의 실행결과는? #include int main(void) { int x = 2 * 9 / 3 + 9; printf("%d \n", x); retrun 0; } - 15 6. 다음 코드의 실행결과는? #include.. 2022. 7. 18.
'getgrav/grav' XSS 취약점 #CVE-2022-0268 Target : getgrav/grav https://github.com/getgrav/grav GitHub - getgrav/grav: Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig Modern, Crazy Fast, Ridiculously Easy and Amazingly Powerful Flat-File CMS powered by PHP, Markdown, Twig, and Symfony - GitHub - getgrav/grav: Modern, Crazy Fast, Ridiculously Easy and Amazingly P... github.com Des.. 2022. 7. 17.
'Bodymem' Prototye Pollution 취약점 #CVE-2022-25296 Target : Bodymem Description Prototye 페이로드를 이용해서 Object.prototype의 속성을 추가하거나 수정하도록 속일 수 있는 핸들러 기능을 통해 프로토 타입 오염이 발생한다. * CVE-2019-10792 수정 코드에서 발생 PoC const x = require("bodymem"); x.handler(["__proto__"], "polluted", "success"); console.log({}.polluted) 관련 링크 https://security.snyk.io/vuln/SNYK-JS-BODYMEN-2342623 Snyk Vulnerability Database | Snyk Snyk Vulnerability Database security.snyk.io htt.. 2022. 7. 13.
3장(변수와 자료형) Programming #C언어 콘서트 1. 사용자로부터 소수점 표기 형식으로 실수를 읽어서 지수 형식으로 출력하는 프로그램을 작성하라. hint : printf()에서 소수점 표기 형식은 %f, 지수형식은 %e로 출력할 수 있다. 실수를 입력하시오: 89.567 지수 형식으로는 8.956700e+001입니다. #include int main() { float f; printf("실수를 입력하시오: "); scanf("%f", &f); printf("지수 형식으로는 %e입니다.\n", f); return 0; } 2. 사용자에게 받은 문자의 아스키 코드를 출력하는 프로그램을 작성하시오. hint : 문자는 아스키 코드라는 숫자로 컴퓨터 내부에서 표현된다. 문자를 %c로 받아서 char형 변수에 저장한 후에 %d로 출력하면 된다. 문자를 입력하.. 2022. 7. 13.
Visual Studio Code 한글 깨짐 해결 #VSCode VSCode를 이용하여 코딩을 하고 있었는데. 아래와 같이 한글이 깨진다. VSCode는 기본적으로 UTF-8 인코딩 방식을 사용중인데, 설정을 한글 코드(EUC-KR)로 설정하면 된다. UTF-8부분을 클릭하면 인코딩하여 다시 열기가 있다. EUC-KR로 설정하면 된다. 그러면 코드쪽 한글이 깨지게 되는데, 코드에 커서를 올려두고 ctrl+z를 입력하면 돌아온다. 다시 컴파일하고 실행하면 정상적으로 실행된다. 위의 방법은 파일마다 설정해줘야 하는 불편함이 있다. 아래는 윈도우에서 자체적으로 UTF-8을 지원하게 하는 방식이다. 윈도우 키를 누르고 지역을 검색하면 국가 또는 지역이 있다. 관리자 옵션에서 시스템 로캘? 변경을 클릭한다. Beta: 세계 언어 지원을 위해 Unicode UTF-8 사용을 체.. 2022. 7. 12.
3장(변수와 자료형) 연습문제 #C언어 콘서트 1. 다음의 식별자 중에서 잘못된 것은? - 1st_number 2. 다음 중 C에서 지원하는 자료형의 이름이 아닌 것은? - real 3. 다음의 상수 중에서 올바르지 않은 상수를 고르시오. - 'abc' 4. 65000을 저장할 수 있는 자료형으로 가장 메모리를 적게 차지하는 자료형은? - unsigned short 5. 다음 프로그램의 실행 결과는? #include int main(void) { printf("\ac programming\nclass\n"); return 0; } (경고 벨소리)c programming class 6. 다음 코드를 컴파일 할 때, 컴파일 경고가 발생하는 이유는 무엇인가? float f; f = 12.345; - main함수를 작성하지 않았다..? 7. 다음 프로그램의.. 2022. 7. 12.
VMware workstation 15 블루스크린 해결 #System Service Exception VMware workstation 15를 설치하고 이미지 로드했더니 블루스크린이 떳다. 오류명은 System Service Exception이고, VMware 실행까지는 괜찮지만 이미지 로드하면 블루스크린이 나왔다. 백신도 다 삭제하고, 포맷도 진행했었는데 별 소용이 없었다.. 구글링을 해보니깐 VMware workstation 16으로 설치하면 블루스크린이 안뜬다는 말이 있었다. 어떤 차이인지 모르겠지만, VMware workstation 16부터는 블루 스크린이 안뜨는거 같다. 참고 사이트. https://quasarzone.com/bbs/qf_sw/views/69486 https://quasarzone.com/bbs/qf_sw/views/30986 https://witch49.tistory.com/.. 2022. 7. 11.
2장(기초사항) Programming #C언어 콘서트 1. 사용자의 이름, 주소, 전화번호를 화면에 출력하는 프로그램을 작성해보자. hint : printf() 함수를 사용하면 화면에 출력할 수 있다. 이름: 홍길동 주소: 서울시 종로구 전화번호: 111-2222 #include int main() { printf("이름: 홍길동 \n"); printf("주소: 서울시 종로구 \n"); printf("전화번호: 111-2222 \n"); return 0; } 2. 다음과 같이 출력하는 프로그램을 작성하라. 제품의 가격은 price라는 변수에 저장되어 있다고 가정한다. hint : int price; 문장으로 price 변수를 선언한다. 제품의 가격은 22000원 입니다. #include int main() { int price = 22000; printf(.. 2022. 7. 11.
반응형