'Web Hacking/이론적인 내용'에 해당되는 글 17건

SOAP(Simple Object Access Protocol)XML 언어를 이용하여 분산환경에서의 정보 교환을 해주는 프로토콜이다. HTTP, HTTPS, SMTP를 통하여 XML 기반의 메시지가 네트워크에서 교환된다. 언어/OS와 독립적이고, 물리적으로 인접하지 않은 서버에 정보를 요청하고 요청에 대한 응답 값을 확인할 수 있다.

 

SOAP 메시지 구조

  - Envelope : 모든 SOAP 메시지의 루트 요소이며 header, body를 포함.

 

  - header : 필수적이지 않은 항목으로 SOAP 노드로만 처리될 애플리케이션 관련 정보를 전달하는데 사용.

 

  - body : 필수적인 항목으로 메시지의 최종 수신인을 대상으로 하는 정보를 포함.

 

  - falut : SOAP body의 하위 요소이며 오류 보고에 사용.

 

장점

  - 프록시와 방화벽에 구애받지 않고 쉽게 통신 가능.

  - 플랫폼 및 프로그래밍 언어에 독립적.

  - 간단하고 확장 가능.

  - 멀티파트 MIME 구조를 사용하여 첨부를 통합하는 SOAP XML 메시지를 지원.

  - 분산 컴퓨팅 환경을 다루기 위해 설계.

  - 에러 처리에 대한 내용이 기본적으로 내장.

 

단점

  - 다른 기술과 비교해서 상대적으로 느리지만 네트워크 속도의 발전과 성능 최적화 기술의 발전으로 많은 부분 해결됨.

  - REST 연동에 비해 복잡하고 무거움.

  - 개발이 어렵고, 툴이 필요함.

 

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

Command Injection이란?  (0) 2017.09.29
파일 업로드 취약점이란?  (0) 2017.09.22
파일 다운로드 취약점이란?  (0) 2017.09.15
CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
XSS란?  (2) 2017.09.01
블로그 이미지

꼴통보안인

,

Command Injection이란 웹 애플리케이션에서 system(), exec()와 같은 시스템 명령어를 실행할 수 있는 함수를 제공하며 사용자 입력값에 필터링이 제대로 이루어지지 않을 경우 공격자가 시스템 명령어를 호출할 수 있는 취약점이다. 시스템 계정 정보 유출, 백도어 설치, 관리자 권한 탈취 등의 공격을 수행한다.

 

Command Injection에 취약한 함수들

 구분

취약한 함수 

Java(Servelt, JSP) 

System.*(특히 System.Runtime) 

Perl 

open(), sysopen(), system(), glob() 

PHP 

exec(), system(), passthru(), popen(), rquire(), include(), eval(),

preg_replace() 

 

 

대응방안

  - 사용자 입력값에 운영체제 명령어를 실행할 수 있는 문자가 포함되어 있는지 적절히 필터링하여 차단한다.

  - 웹 애플리케이션 운영 상 운영체제 명령어를 사용해야 한다면 허용 가능한 명령어 리스트(명령어 화이트 리스트)를 선정하여 해당 명령어만 실행할 수 있도록 설정한다.

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

SOAP란?  (0) 2017.12.05
파일 업로드 취약점이란?  (0) 2017.09.22
파일 다운로드 취약점이란?  (0) 2017.09.15
CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
XSS란?  (2) 2017.09.01
블로그 이미지

꼴통보안인

,

파일 업로드 취약점악성 서버 스크립트(ex : 웹쉘)를 서버에 전달하여 해당 페이지를 통해 악성 코드가 실행되도록 하는 취약점을 말한다. 삽입할 악성 서버 스크립트 파일의 위치가 로컬서버에 위치하는지 원격지에 위치하는지에 따라 LFI(Local File Inclusion)와 RFI(Remote File Inclusion)으로 나뉜다.

 

점검 방법

  - 사용자 게시판에 파일 첨부 기능 유무를 확인한다.

  - 첨부기능이 있는경우, jsp, php, asp, cgi 등의 Server Side Script 파일이 업로드 가능한지 확인한다.

  - 홈페이지에 있는 디렉터리 정보를 이용하여 Server Side Script 프로그램의 위치를 조사한 후 브라우저 주소창에서 해당 프로그램의 실행이 가능한지 확인한다.

 

우회 방법

  - 프록시 툴을 이용하여 확장자 검사를 우회한다.

  - 널바이트를 이용한다.

  - SQL Injection을 이용한다.

 

 

대응 방안

  - 소스코드에 include, require 등의 구문/함수가 존재하는지 검증한다.

  - php 설정파일인 php.ini 파일에서 allow url fopen을 off 설정한다.

  - 필터링 방식을 white-list 방식으로 하여 확장자 변경 등의 우회 기법을 차단한다.

  - 파일이 업로드되는 디렉터리가 사용자에게 노출되지 않도록 조치한다.

  - 첨부파일에 대한 검사는 반드시 서버측에서 구현한다.

  - 저장되는 파일이나 업로드 디렉터리가 실행권한을 갖지 않도록 실행권한을 제거한다.

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

SOAP란?  (0) 2017.12.05
Command Injection이란?  (0) 2017.09.29
파일 다운로드 취약점이란?  (0) 2017.09.15
CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
XSS란?  (2) 2017.09.01
블로그 이미지

꼴통보안인

,

파일 다운로드 취약점은 파일 다운로드 기능이 존재하는 웹에서 파일 다운로드 시 파일의 경로 및 파일명을 파라미터로 받아 처리하는 경우 이를 적절히 필터링 하지 않으면 공격자가 이를 조작하여 허용되지 않은 파일을 다운 받을 수 있는 취약점이다. 공격자는 취약점을 이용하여 시스템 환경 설정 파일, 소스 코드 파일, DB 연동 파일 등 중요한 파일을 다운 받을 수 있다.

 

점검 방법

  - 게시판 또는 공지사항, 자료실 등에서 cgi, jsp, php 등의 프로그램을 이용하여 파일을 다운로드 받는 페이지가 있는지 조사한다.

 

  - 다음과 같이 파일 다운로드를 시도한다.

    * ../../../../etc/passwd

    * ../../../../winnt/win.ini

    * ../../../../boot.ini

    * ../../../../wp-config.php (워드프레스인 경우)

    * xx/direct_download.php?file=./direct_download.php

 

  - 인코딩을 적용하여 해당 파일 내용이 표시되는지 확인한다.

    * url 인코딩 : .(%2e), /(%2f), \(%5c)

    * 16bit 유니코드 인코딩 : .(%u002e), /(%u2215), \(%u2216)

    * 더블 url 인코딩 : .(%252e), /(%252f), \(%255c)

 

  - ..//, ....\\, 등을 적용하여 패턴을 반복하지 않음으로써 방화벽 우회를 시도한다.

 

  - null바이트 인젝션 시도한다.

    * ../../../../etc/passwd%0a.jpg

 

  - 특정 디렉터리나 파일을 먼저 입력한 후 탐색 문자열을 입력한다.

    * /was/tomcat/image/../../../../etc/passwd

 

 

대응방안

  - 외부에서 입력하는 파일 경로와 이름에 대해 허용하는 경로 이외의 디렉터리와 파일에 접근할 수 없도록 처리한다.

 

  - 외부 입력값에 대해 파일 경로를 변경할 수 있는 문자열에 대해 필터링한다.

 

  - php로 개발된 경우 php.ini의 내용 중 magic_quotes_gpc 항목을 on으로 설정하여 ".\와 ./" 입력 시 치환되도록 설정한다.

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

Command Injection이란?  (0) 2017.09.29
파일 업로드 취약점이란?  (0) 2017.09.22
CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
XSS란?  (2) 2017.09.01
SQL Injection이란?  (0) 2017.08.24
블로그 이미지

꼴통보안인

,

CSRF(Cross Site Request Foregery)웹 애플리케이션에서 정상적인 경로를 요청한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송 하도록 하여 게시판 설정 변경, 회원정보 변경 등의 문제가 발생할 수 있는 취약점이다. 공격자가 공격을 당한 사용자의 권한을 그대로 사용하므로 공격 당한 사용자의 권한 수준에 따라 피해 범위가 달라진다. 악성 사이트를 유도하지 않고 사용이 가능하며 XSS와 헷갈리는 이유는 XSS와 같이 사용해야 훨씬 깔끔하게 피싱 사이트로 유도하는 등의 이점이 존재하기 때문이다.

 

 

 

대응 방안

  - 중요 정보는 쿠키에 저장하지 않는다.

  - XSS 취약점 확인

  - referer 확인

  - 단순한 Session Token만 이용한 권한 부여 금지

  - 정보 변경시 CAPTCHA를 이용하여 인증

  - GET/POST 구분

  - FORM 대신 AJAX를 통한 JSON API만 사용

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

파일 업로드 취약점이란?  (0) 2017.09.22
파일 다운로드 취약점이란?  (0) 2017.09.15
XSS란?  (2) 2017.09.01
SQL Injection이란?  (0) 2017.08.24
DCL(데이터 제어어)란?  (0) 2017.08.11
블로그 이미지

꼴통보안인

,

XSS(Cross Site Script)란 웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼에 악의적인 스크립트를 삽입하여 해당 스크립트가 희생자 측에서 동작하도록 하여 악의적인 행위를 수행하는 취약점이다. 공격자는 취약점을 이용하여 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등의 공격을 수행한다.

 

XSS 공격 종류

  - Stored XSS (저장형 XSS)

    * 공격자가 취약한 웹서버에 악성 스크립트를 저장하면 희생자가 해당 자료를 요청할 떄 해당 악성 스크립트가 삽입된 응답 페이지가 전달되어 클라이언트 측에서 동작하는 방식이다.

 

 

 

  - Reflected XSS (반사형 XSS)

    * 외부에 있는 악성 스크립트가 희생자 액션에 의해 취약한 웹서버로 전달되고, 웹서버의 응답 페이지에 해당 악성 스크립트가 삽입되어 희생자 측에서 동작하는 방식이다.

 

 

 

  - DOM based XSS (DOM 기반 XSS)

    * 희생자의 웹 브라우저에서 응답 페이지에 포함된 정상적인 스크립트가 동작하면서 DOM 객체를 실행할 때 URL 등에 포함된 악성 스크립트가 동작하는 방식이다. 응답 페이지에 관계없이 웹 브라우저에서 발생한다.

 

 

 

대응방안

  - 사용자 입력값 검증을 반드시 서버단에서 한다.

  - 사용자 입력 문자열에서 HTML 코드로 인식될 수 있는 특수문자를 일반문자로 치환하여 처리한다.

 

HTML 특수문자 

HTML Entity 

HTML 특수문자

HTML Entity 

<, > 

 &lt;, &gt;

 &quot;

 (, )

 &#x28;, &#x29;

 '

 &#x27;

 &

 &amp;

 #

 &#x23;

 /

 &#x2F

 

 

 

  - 게시판 등에서 HTML 태그를 허용해야하는 경우, HTML 태그 화이트리스트를 선정 후, 해당 태그만 허용하는 방식을 적용한다.

 

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

파일 다운로드 취약점이란?  (0) 2017.09.15
CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
SQL Injection이란?  (0) 2017.08.24
DCL(데이터 제어어)란?  (0) 2017.08.11
데이터 조작어(DML)이란?  (0) 2017.08.03
블로그 이미지

꼴통보안인

,

SQL Injection이란 웹 애플리케이션에서 입력받아 데이터베이스로 전달하는 SQL 쿼리를 바꾸거나, 다른 SQL 문장을 추가하여 불법 로그인, DB 데이터 추출, 시스템 명령 실행 등을 수행하는 공격 기법이다. Blind SQL 인젝션, 에러 기반 SQL 인젝션, Union SQL 인젝션 등 종류도 다양하다.

 

SQL Injection 특징

  - DB에 악성코드를 대량으로 삽입

  - 자동 삽입 스크립트를 사용하여 한번에 악성코드를 대량 삽입

  - POST나 HTTP Header를 이용한 경우는 공격 로그를 찾기 어려움

  - 악성코드 삽입 과정에서 데이터의 손실 또는 유실 발생

 

SQL Injection 공격 종류

  - 인증 우회 (AB : Auth Bypass)

보통 아이디와 비밀번호를 입력하는 로그인 페이지를 목표로 하는 공격이다. SQL 쿼리문의 true/false의 논리적 연산 오류를 이용하여 로그인 인증 쿼리문이 무조건 true의 결과 값이 나오게 하여 인증을 무력화 시키는 원리이다.

 

  - 데이터 노출 (DD : Data Disclosure)

목표 시스템의 주요 데이터 절취를 목적으로 하는 방식이다. Error based, Union, Blind, Time 방식이 있다. 시스템의 에러는 개발자에게 버그를 수정하는 면에서 많은 도움을 주지만 역으로 에러를 이용할 수 있다. 악의적인 구문을 삽입하여 에러를 유발시키는 것이다.

 

  - 원격명령 실행 (RCE : Remote Command Excute)

 

대응방안

  - 문자열 필터링 길이 제한

데이터베이스와 연동하는 스크립트의 모든 파라미터를 점검하여 사용자의 입력 값에 이용되는 특수문자(‘, “, \, ;, :, %, space, --, # ) SQL 관련 문자열(select, union, insert, delete, update )을 필터링한다. 또한, 문자열의 길이를 제한하고, 숫자는 숫자인지 점검하는 함수를 사용한다.

 

  - 확장 프로시저 제거

MS-SQL의 경우 확장 프로시저(mater, xp_cmdshell, xp_startmail, xp_sendmail 등)는 운영체제 명령 실행 및 SQL 인젝션에 이용되기 때문에 제거하는 것이 안전하다.

 

  - DB 사용자 권한 제한

웹 프로그램을 사용하는 DB 사용자의 권한을 제한한다.

 

  - 선처리 질의문(Prepared Statement) 이용

선처리 질의문을 이용하면 SQL 쿼리문을 선처리하여 이후 입력되는 변수 값을 항상 문자열 변수로 다루기 때문에 사용자가 악의적인 SQL 구문을 삽입하더라도 SQL 문에 영향을 미치지 않아 SQL 인젝션이 발생하지 않는다.

 

  - hash function 사용

사용자의 입력값을 DB 그대로 저장하고 사용하지 말아야 한다. 특히 비밀번호의 경우 그렇다. 무조건 SHA-256 이상의 보안성을 갖는 해시함수로 해싱한 뒤 저장해야 한다.

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

CSRF(Cross Site Request Forgery)란?  (0) 2017.09.08
XSS란?  (2) 2017.09.01
DCL(데이터 제어어)란?  (0) 2017.08.11
데이터 조작어(DML)이란?  (0) 2017.08.03
데이터 정의어(DDL)이란?  (0) 2017.07.27
블로그 이미지

꼴통보안인

,

데이터 제어어(Data Control Language)는 DB에 접근하고 객체들을 사용하도록 권한을 부여, 해제하는 명령어이다.

 

1. Grant문

- DB권한을 부여하는 명령어

     ex) Grant 권한_리스트 on 개체 to 사용자 [with grant option];

      * with grant option : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여

 

2. Revoke문

  - DB권한을 해제하는 명령어

     ex) Revoke [grant option for] 권한_리스트 on 개체 from 사용자 [cascade];

      * grant option for : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소

      * cascade : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소

 

3. Commit문

  - 데이터를 DB에 저장하고 트랜잭션을 성공적으로 종료하는 명령어

 

4. Rollback문

  - 데이터의 변경 사항을 취소하고 원상태로 복귀한 후 트랜잭션을 종료하는 명령어

 

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

XSS란?  (2) 2017.09.01
SQL Injection이란?  (0) 2017.08.24
데이터 조작어(DML)이란?  (0) 2017.08.03
데이터 정의어(DDL)이란?  (0) 2017.07.27
SQL이란?  (0) 2017.07.19
블로그 이미지

꼴통보안인

,

데이터 조작어(Data Manupulation Language)는 DB에 있는 데이터를 검색, 등록 삭제, 갱신하기 위한 언어이다.

 

1. Select문

- DB에 있는 데이터를 검색하는 명령어

     ex) select [all/distinct] from 테이블 where 조건;

      * all : default 옵션, 중복된 데이터가 있어도 표시

      * distinct : 중복된 데이터가 있는 경우 1건으로 처리하여 표시

 

2. Insert문

  - DB에 데이터를 삽입하는 명령어

     ex) Insert into 테이블명 (속성명, ...) values (속성값, ...);

 

3. Delete문

  - DB에 있는 데이터를 삭제하는 명령어

     ex) delete from 테이블명 where 조건;    

 

4. Update문

  - DB에 있는 데이터를 갱신하는 명령어

     ex) update 테이블명 set 수정할 컬럼명 = 변경할 값;

 

4. Murge문

  - DB에 있는 여러 테이블의 데이터를 병합하는 명령어

     ex) murge into 테이블명 on 병합조건절 when matched then

update set 업데이트 내용 delete where 조건

when not matched then insert values (컬럼명);

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

SQL Injection이란?  (0) 2017.08.24
DCL(데이터 제어어)란?  (0) 2017.08.11
데이터 정의어(DDL)이란?  (0) 2017.07.27
SQL이란?  (0) 2017.07.19
OWASP Top 10 2017  (0) 2017.07.10
블로그 이미지

꼴통보안인

,

데이터 정의어(Data Definition Language)는 DB 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어들로 데이터 구조와 관련된 명령어들을 말한다.

 

1. Create문

- 테이블, 뷰, 인덱스 등 객체를 생성하는데 사용

  1-1. 스키마

    - 하나의 사용자에 속하는 테이블과 기타 구성 요소 등을 그룹짓기 위한 것이다.

       ex) Create schema 스키마명 authoriztion 사용자_ID;

  1-2. 도메인

    - 하나의 속성이 취할 수 있는 동일한 타입의 원자값들의 집합이다.

    - 임의의 속성에서 취할 수 있는 값의 범위가 SQL에서 지원하는 전체 데이터

      타입의 값이 아니고 일부분일 때, 사용자는 그 값의 범위를 도메인으로 정의할

      수 있다.

    - 정의된 도메인 명은 일반적인 데이터 타입처럼 사용한다.

       ex) Create DOmain 도메인명 데이터_타입

[Default 기본값]

[Constraint 제약조건명 check (범위 값)];

  1-3. 테이블

    - 기본 테이블에 포함될 모든 속성에 대하여 속성명, 속성의 데이터 타입,

      Not Null을 지정한다.

    - 제약조건

      * PRIMARY KEY (기본키, PK) : 테이블 내의 개별 데이터를 식별하기 위해

        정의된 제약조건이다. 이 조건을 설정한 컬럼의 데이터는 컬럼 내에서 중복

        될 수 없으며 Null값을 허용하지 않는다. 즉 PK는 Unique + Not Null의 제약

        조건을 갖는다.

      * FOREIGN KEY (외래키, FK) : 부모 테이블과 자식 테이블 간의 관계를 정의하기

        위해 부모 테이블의 PK값을 참조하는 자식 테이블의 제약조건이다.

      * UNIQUE KEY (고유키, UK) : 테이블 내의 개별 데이터를 고유하게 식별하기

        위한 제약조건이다.

      * NOT NULL (NN) : 해당 컬럼의 데이터값에 Null을 허용하지 않는

        제약조건이다. 즉 필수입력을 의미한다.

      * CHECK (CK) : 해당 컬럼에 허용할 수 있는 데이터 값의 범위를 제한한다.

      * On Delete 옵션 :  참조 테이블의 튜플이 삭제되었을 떄 기본 테이블에 취해야

        할 사항을 지정한다. 옵션에는 No Action, Cascade, Set Null, Set Default가

        있다.

      * On Update 옵션 : 참조 테이블의 참조 속성 값이 변경되었을 떄 기본 테이블에

        취해야 할 사항을 지정한다. 옵션에는 No Action, Cascade, Set Null, Set

        Default가 있다.

       ex) Create Table 테이블명

(속성명 데이터_타입 [Not Null], ...

[, Primary key (기본키_속성명, ...)]

[, Unique (대체키_속성명, ...)]

[, Foreign Key (외래키_속성명, ...)

References 참조테이블(기본키_속성명, ...)]

[On delete 옵션]

[On update 옵션]

[, Constraint 제약조건명] [Check (조건식)]);

  1-4. 뷰

    - 하나 이상의 기본 테이블로 유도되는 이름을 갖는 가상 테이블이다.

    - Select문을 서브쿼리로 사용하여 Select문의 결과로서 뷰를 생성한다.

    - 서브쿼리인 Select문에는 Union, Order by 절을 사용할 수 없다.

    - 속성명을 기술하지 않으면 Select문의 속성명이 자동으로 사용된다.

       ex) Create View 뷰명[(속성명 [, 속성명, ...])]

      As Select문;

  1-5. 인덱스

    - 검색을 빠르게 하기 위해 만든 보조적인 데이터 도구이다.

    - Unique

      * 사용 : 중복 값이 없는 속성으로 인덱스를 생성

      * 생략 : 중복 값을 허용하는 속성으로 인덱스 생성

    - 정렬 여부 지정

      * Asc : 오름차순

      * Desc : 내림차숨

      * 생략 : 오름차순으로 정렬됨

    - Cluster : 지정된 키에 따라 튜플들을 그룹으로 지정하기 위해 사용한다.

       ex) Create [Unique] Index 인덱스명

On 테이블명(속성명 [Asc | Desc], ...)

[Cluster]

  1-6. 트리거

    - DB시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때 마다 자동적

      으로 수행되는 사용자 정의 프로시저다.

    - 동작시기 옵션 : 트리거가 실행될 때를 지정한다. 옵션에는 AFTER와 BEFORE가

      있다.

      * AFTER : 테이블이 변경된 후 트리거 실행

      * BEFORE : 테이블이 변경되기 전에 트리거 실행

    - 동작옵션 : 트리거가 실행되게 할 작업의 종류를 지정한다.

      * INSERT : 테이블에 새로운 레코드를 삽입할 때 트리거 실행

      * DELETE : 테이블의 레코드를 삭제할 때 트리거 실행

      * UPDATE :  테이블의 레코드를 수정할 때 트리거 실행

    - 테이블 선택 옵션 : 트리거가 적용될 테이블의 종류를 지정한다.

      * NEW : 새로 추가되거나 변경에 참여할 튜플들의 테이블에 트리거가 적용

      * OLD : 변경될 튜플들의 테이블에 트리거 적용

    - WHEN : 트리거가 실행되면서 지켜야할 조건을 지정한다.

    - 트리거 BODY : 트리거의 본문 코드를 입력하는 부분이다.

      * BEGIN으로 시작해서 END로 끝나는데 적어도 하나 이상의 SQL문이 있어야

        한다. 그렇지 않으면 오류가 발생한다.

      * 변수에 값을 치환할 때에는 예약어 SET를 사용한다.

       ex) Create Trigger 트리거명 [동작 시기 옵션][동작 옵션] On 테이블명

Referencing [New | Old] Table as 테이블명

for Each Row

When 조건식

트리거 Body

 

2. Alter문

  - 테이블에 대한 정의를 변경하는 명령문이다.

     ex) Alter Table 테이블명 Add 속성명 데이터_타입 [Default] '기본값]; : 새로운

         속성 추가

   Alter Table 테이블명 Alter 속성명 [Set Default '기본값']; : 속성의 기본 값을

   변경한다. 

   Alter Table 테이블명 Drop 속성명 [Cascade]; : 속성을 제거한다.

3. Drop문

  - 스키마, 도메인, 테이블, 뷰, 인덱스, 트리거를 제거하는 명령문이다.

  - Drop Constraint : 제약 조건을 제거한다.

  - Cascade : 제거할 개체를 참조하는 다른 모든 개체를 함께 제거한다.

  - Restrict : 다른 개체가 제거할 개체를 참조중일 경우 제거가 취소된다.

     ex) Drop [Constraint] [제거할 것] 제거할 것 이름  [Cascade | Restrict] ;

 

'Web Hacking > 이론적인 내용' 카테고리의 다른 글

DCL(데이터 제어어)란?  (0) 2017.08.11
데이터 조작어(DML)이란?  (0) 2017.08.03
SQL이란?  (0) 2017.07.19
OWASP Top 10 2017  (0) 2017.07.10
쿠키(Cookie)란?  (0) 2017.07.07
블로그 이미지

꼴통보안인

,