전체 글 73

XSS Injection

xss Injection xss란 웹 어플리케이션에서 일어나는 취약점으로 웹 페이지 악의적인 스크립트를 포함시켜 사용사 측에서 실행되게 유도하는 공격 기법입니다.xss공격은 스크립트 언어와 취약한 코드를 공격 대상으로 하고 로그인 세부정보나 쿠키를 탈취하는 방식으로 진행 됩니다. xss 공격은 크케 Stored xss, Reflected xss,Dom xss이 있습니다. Stored xss store xss 공격은 입력 form에 악성 스크립트를 삽입하여 DB에 저장시키고 사용자가 싸이트를 방문하여 악성 스크립트가 저장되어 있는 페이지를 호출시 서버는 악성 스크립트를 사용자에게 전달하여 악성 스크립트가 실행되면서 정보를 탈취 하는 공격방법이다. 주로 게시글,댓글등에서 많이 사용 된다. 1) 공격자는 서버..

시큐어 코딩 2023.06.07

자바의 정석 5장

Chapter 4 배열 1.배열 배열이란 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 만약 1억개 만큼의 데이터를 저장해야 되는 상황이 왔을때 1억개의 변수를 선언해야 되는것은 불가능 하다. 배열을 사용하면 많은 양의 데이터를 다룰 수 있다. 1-1 배열의 선언과 생성 배열의 선언 배열의 선언 방식은 다른 변수 선언과 비슷하다. 원하는 타입의 변수를 선언하고 대괄호를 붙이면 된다. 선언 방식 선언 예 타입[] 변수이름; int[] scores; String[] names 타입 변수이림[]; int scores[] String names[] 배열의 생성 배열을 선언한 후에는 배열을 생성해야 된다. 배열 선언은 참조변수를 위한 공간이 만들어질 뿐이고 값을 저장할 수 있는 공간을 만..

자바의 정석 2023.06.06

자바의 정석4장

이 글은 Java의 정석 3rd Edition을 읽고 정리한 내용입니다. Chapter 4 조건문과 반복문 1.조건문과 반복분 조건문 : 조건이 주어질 때 어떤 동작을 수행하도록 하는, 즉 조건에 따라 실행이 달라지게 할 때 사용되는 문장이다. 반복문 : 소스 코드내에서 특정한 부분의 코드가 반복적으로 수행될 수 있도록 하는 구문이다. 조건문은 크게 if,switch가 있고 반복문은 for문과 while문이 있다. 조건문 조건문은 조건식과 문장을 포함하는 블럭으로 구성되어 있으며 조건식의 연산결과에 따라 실행할 문장이 달라진다. 1-1. if문 if문은 기본적인 조건문으로 조건식과 괄호로 이루어 져있으며 조건식이 참이면 괄호 안의 문장을 수행한다. if(조건식) { // 조건식이 true일떄 수행될 문장..

카테고리 없음 2023.06.06

주소 지정 방식

명령어 형식 명령어는 CPU에 이해 실해될 때 제공해야 할 정보를 포함하고 있어야 한다. 연산코드 : 수행될 연산을 지정해준다(LOAD,ADD 등) 오퍼랜드 : 필요한 데이터 또는 데이터의 주소를 나타낸다. 여러개의 오퍼랜드를 가질수 있다. 다음 명령어 주소 : 현재 명령어가 실행완료 후 다음 명령어의 위치를 나타낸다. 주소 지정 방식 주소지정 방식이란 주소 비트를 이용하여 오퍼랜드의 요효주소를 결정하는 방법으로 다양한 방법으로 오퍼랜드를 지정하고 더 큰 용량의 기억장치를 사용할 수 있도록 하기위해서 주소지정 방식이 제안되었다. 1.직접 주소지정 방식 가장 단순한 방법으로 오퍼랜드 필드 내용이 데잍의 유효주소를 사용하는 방식이다 . 2.간접 주소지정 방식 직접 주소지정 팡식의 문제점인 기억 장치 범위가 ..

cs(컴퓨터구조) 2023.06.03

CPU 성능 향상 기법

CPU 성능 향상 기법에는 클럭을 이용한 향상기법,멀티 코어 멀티 쓰레드를 이요한 향상기법, 병렬처리를 이용한 향상 기법등이 있다. 1.클럭 컴퓨터는 클럭 신호에 맞춰 작업을 수행한다. cpu는 명령어 싸이클이라는 흐름에 맞춰 명령어를 실행한다. 클럭 신호가 빠르게 되면 CPU의 싸이클을 빠르게 반복할 수 있어 성능을 올릴 수 있다. overClocking : 클럭 속도를 강제로 끌어올리는 기법(너무 올릴시 발열의 문제가 있다.) 2.1 코어, 멀티 코어 코어 : CPU 칩 내부에 register와 cache를 갖고 있는 core 만 따로 회로를 구성한 구조 멀티 코어 : 코어를 여러개 포함하고 있는 CPU CPU내의 명령어를 처리하는 코어가 여러개 있어 성능향상에 도움이 된다. 연산 속도가 코어 수에 ..

cs(컴퓨터구조) 2023.06.03

명령어 싸이클

CPU 동작 원리 cpu는 기억장치치에 저장되어 있는 명령들을 실행하여 프로그램을 수행하는 기능을 수행한다. 1.명령어 인출 : 기억장치로 부터 명령어를 읽어온다 2.명령어 해독 : 읽어온 명령어를 해독한다 3.데이터 인출 : 명령어 실행전 데이터가 필요한 경우 데이터를 읽어온다. 4.데이터 처리 : ALU를 이용한 데이터 산순,논리연산을 수행한다. 5.데이터 저장 : 수행한 결과를 저장한다. 레지스터 PC(Program Counter) : 다음 실행될 주소를 가지고 있는 레지스터 MAR(Memory Address Register) : 주소 버스로 이동하기 전에 PC에있는 주소를 임시 저장하는 레지스터 MBR(Memory Buffer Register) : 저장될 데이터 혹은 읽혀진 데이터가 일시적으로 저..

cs(컴퓨터구조) 2023.06.03

1.컴퓨터 시스템 개요

프로그래밍 코드를 똑같이 따라 작성해도 코드가 제대로 작동하지 않는 경험들을 다들 해봤을 것이다. 프로그래밍 언어의 문법만 알고 있는 사람들에게 컴퓨터 코드란 코드를 입력하면 결화를 내놓는 미지의 대상이다 하지만 컴퓨터 구조를 이해 한다면 문제 해결의 실마리를 빠르게 찾을수 있을것이다. 컴퓨터의 기본 구조 컴퓨터는 기본적으로 하드웨어와 소프트 웨어로 구성되어 있다. 소프트웨어 하드웨어의 동작을 지시하고 제어하는 명령어의 집합 하드웽에 의존적이고 하드 웨어의 사용 효율을 향상시키거나 편리한 이용환경을 제공해 준다. 하드웨어 컴퓨터를 구성하는 기계적 장치 메인 보드, cpu,주기억장치 모듈, 확장 보드, 보조기억장치, 입출력장치 등 CPU 사람으로 따지면 뇌의 기능을 하는 부분으로 프로그램 실행과 데이터 처..

cs(컴퓨터구조) 2023.06.03

SQL Injection

SQL 삽입 DB와 연동된 웹 응용프로그램에서 입력된 데이터에 대한 유효성을 검증을 하지 않을경우 발생할 수 있는 보안약점으로 공격자가 입력에 SQL문을 삽입하여 DB로부터 정보를 열람하거나 조작할 수 있는 보안 약점이다. 보안대책 1) 입력 검증 쿼리에 사용되는 외부 입력값에 대하여 특수문자 및 예약어를 필터링 한다. 스프링과 같은 프레임워크 사용시 외부 보안모듈,검증모듈을 사용해야 한다. 2) Error Message 노출 금지 DB에러 발생시 쿼리문과 함꼐 에러 내용을 반환해 주는데 여기서 쿼리문,컬럼명 등의 내용이 노출 될 수 있다. 따라서 오류 발생 시 처리를 해주는 예외처리를 해주어 사용자에게 따로 메시지 박스를 띄우도록 해야한다. 3) preparedStatment 객체 사용 Prepared..

시큐어 코딩 2023.06.02

자바의 정석 3장

이 글은 Java의 정석 3rd Edition을 읽고 정리한 내용입니다. Chapter 3 연산자 1.1 연산자와 피연산자 연산을 수행하기 연산의 대상(피연산자와) 연산을 수행하고 결과를 반환할 피연산 자로 나뉜다. 연산자는(+,-,/,*)와 같은 연산자를 의미하고 피연산자는(변수,상수,리터럴,수식)등을 의미한다. 컴퓨터 구조의 연산자와 피연산자를 생각하면 이해하기 쉬운 것 같다. 1.2 연산자의 종류 연산자는 크게 산술,비교,논리,대입,기타 연산자로 나눌수 있다. 산술 연산자: 기본적인 사친 연산과 나머지 연산을 담당한다(+,-,*,/,%,) 비교 연산자:크고 작음 또는 같고 다름을 비교한다.(>, =, 비교>논리>대입 순의 우선순위를 가지고 있다. 단한 > 이항 > 삼항 순의 우선순위를 가지고 있다...

자바의 정석 2023.06.01

JVM 메모리 구조

JVM(java virtual machine)이란 jvm은 자바를 실행하기 위한 가상 머신의 약자이다. 자바는 os에 종속되지 않는다는 특징이 있는데 JVM이 자바 바이트 코드를 실행할 수 있는 환경을 제공해 준다. 이로 인해 자바는 OS에 관계 없이 독립적이고 어디서든 실행 할수 있게 한것이다.(write once run anywhere) 자바 어플리케이션은 java.c 컴파일러를 통해 Byte cod(.class)이 생성 된다. 1.class loader class loader는 크게 링킹(Linking),로딩(Loding),초기화(initializing) 작업이 이루어 진다. Loading은 .class 파일을 읽어오는 단계로 class loader는 Conpile 시점이 아닌 RunTime 시점에..

자바의 정석 2023.05.30