전체보기 333

[백준][파이썬]3052번

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. x=[] for i in range(10): y = int(input()) y = y%42 x.append(y) a=0 for i in range(9): if x[i] in x[i+1:10]: a+=1 ..

카테고리 없음 2021.01.18

[백준][파이썬]8958번

문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. x = int(input()) for i in range(x): y = list(input..

Coding/Baekjoon 2021.01.18

[백준][파이썬]1546번

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..

Coding/Baekjoon 2021.01.17

[백준][파이썬]10818번

문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다. a = int(input()) b = list(map(int, input().split())) max = b[0] min = b[0] for i in range(a): if max b[i]: min = b[i] print(min, max) a = int(inp..

Coding/Baekjoon 2021.01.16

[CodeEngn]Basic RCE L04 문제 풀이

문제 풀이 파일을 실행하면 '정상'이라는 문구가 계속 출력 ollydbg로 파일 실행 -> F9로 실행하면 '디버깅 당함'이라는 문구가 출력 F8로 진행을 하다보니 문구가 나오는 구간을 발견 CALL 0040100F 이 곳에 브레이크 포인트를 걸고 F7로 들어가 보았다. F8로 실행 CALL 00408190 실행하면 문구가 출력됨 근처 코드를 보면 수상한 함수를 발견 -> IsDebuggerPresent 이 함수에 브레이크 포인트 함수 실행 전 함수 실행 후 -> EAX 값이 0에서 1로 변경 그대로 실행 -> EAX가 0으로 변경되며 '디버깅 당함' 문구를 출력 EAX 값을 1에서 0으로 변경 F8로 실행 -> '정상' 문구를 출력

[python]객체(object)와 클래스(class)

객체(object) 컴퓨터 과학에서 객체 또는 오브젝트(object)는 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다. 프로그래밍 언어는 변수를 이용해 객체에 접근하므로 객체와 변수라는 용어는 종종 함께 사용된다. 그러나 메모리가 할당되기 전까지 객체는 존재하지 않는다. 객체는 정의해두면 원할 때마다 사용 가능하다. 객체는 클래스의 인스턴스다. (객체지향 프로그래밍) 클래스(class) 객체 지향 프로그래밍(OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀 객체와 클래스 클래스는 정의이며 객체는 그 정의를 현실에서 구현한 인스턴스라..

Study/Python 2021.01.13

[los]goblin 문제 풀이

문제 풀이 첫 번째와 두 번째 if문을 보면 no에 prob _ . ' " 를 필터링 세 번째 if문에서는 id가 들어있으면 Hello 'id'를 출력 네 번째 if문에서는 id에 admin 값이 들어가면 문제 해결 where id='guest' and no= 먼저 no의 값을 주고 or을 사용하여 뒤의 쿼리문을 참으로 만들면 해결 guest에 해당되는 no 값을 알아내야 함 -> no 값이 1을 가지면 guest가 됨 그렇다면 id='guest'의 쿼리문이 False값을 가져야 하기 때문에 no값을 1로만 설정해주지 않으면 됨 -> ?no=2 or 그리고 id값을 admin으로 설정해주어야 함 여기서 '(작은 따옴표)와 "(큰 따옴표)를 필터링 하기 때문에 뒤에 id = "admin" 방식으로 쿼리를 ..

[picoCTF][Web Exploitation]Irish-Name-Repo 2 문제 풀이

문제 풀이 Irish-Name-Repo 1과 구성 동일 첫 번째 시도 Username : ' or 1=1 -- Password : 12 -> 무언가 필터링이 되고 있음 Username에 ', or, =, -- 를 입력하면 로그인이 실패했다는 문구가 뜸 -> 이를 필터링하지 않음 Username에 ' or 를 입력하니 SQL 문구가 뜸 -> ' or 를 필터링함 두 번째 시도 Username : admin' -- Password : 12 picoCTF{m0R3_SQL_plz_aee925db}

[picoCTF][Reverse Engineering]asm2 문제 풀이

문제 풀이 : sub esp,0x10 esp의 주소값에서 0x10(16byte)를 빼서 esp에 넣음 -> 16 byte의 공간을 확보 : mov eax,DWORD PTR [ebp+0xc] : mov DWORD PTR [ebp-0x4],eax : mov eax,DWORD PTR [ebp+0x8] : mov DWORD PTR [ebp-0x8],eax ebp-0x4 및 ebp-0x8에 두 개의 새로운 위치가 생성 ebp + 0xc의 값이 저장 -> ebp-0x4는 0x21을 저장 -> ebp-0x8은 0x4를 저장 : jmp 0x509 28행으로 무조건 점프 : cmp DWORD PTR [ebp-0x8],0xfb46 ebp-0x8에 저장된 값과 0xfb46를 비교 : jle 0x501 0x4 < 0xfb46..

[picoCTF][Web Exploitation]Irish-Name-Repo 1 문제 풀이

문제 풀이 메뉴 우리는 로그인을 해야하므로 Admin Login으로 접속 첫 번째 시도 Username : guest Password : guest -> Username과 Password를 모르기 때문에 sql injection을 사용 ※SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위 SQL Injection 이란? (SQL 삽입 공격) 1. SQL Injection 1.1 개요 Ÿ SQL Injection SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작 noirst..