Research Institute
  • (A3) Injection - SQL Injection (intro)
    2023년 10월 04일 13시 33분 24초에 업로드 된 글입니다.
    작성자: IIIIIIIIIIIIIIIIIIIIl

    1번 문제 소개

    1번 문제는 SQL에 대한 기본적인 개념과 사용법을 물어보는 문제로 조회 SQL Query를 사용하여 문제를 풀 수 있습니다.

     

    SQL이란 무엇입니까?
    SQL은 표준화된(1986년 ANSI, 1987년 ISO) 프로그래밍 언어로 관계형 데이터베이스를 관리하고 그 안의 데이터에 대해 다양한 작업을 수행하는 데 사용됩니다. 데이터베이스는 데이터 모음입니다. 데이터는 행, 열 및 테이블로 구성되고 인덱싱되어 관련 정보를 보다 효율적으로 찾을 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 Bob Franco의 부서를 검색하면 문제가 풀립니다.

    SELECT department FROM Employees WHERE last_name = 'Franco';

    [그림2] 문제 풀이 화면

     

     

    2번 문제 소개

    2번 문제는 Data Manipulation Language (DML)에 대해서 소개하고 Tobi Barnett의 부서명을 업데이트 하는 SQL 쿼리를 보내면 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 Tobi Barnett의 부서명을 업데이트 하면 문제를 풀 수 있습니다.

    UPDATE Employees SET department = 'Sales' WHERE last_name = 'Barnett' AND first_name = 'Tobi';
     

    [그림2] 문제풀이 화면

    3번 문제 소개

    3번 문제는Data Definition Language (DDL)에 대해서 소개하고 "employees"에 "phone"(varchar(20))을 추가하여 스키마를 수정하는 SQL 쿼리를 보내면 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

     

    아래 쿼리문을 사용하여 "phone"(varchar(20))을 추가하여 스키마를 추가하면 문제를 풀 수 있습니다.

    ALTER TABLE Employees ADD phone varchar(20);

     

    [그림2] 문제풀이 화면

    4번 문제 소개

    4번 문제는Data Control Language (DCL)에 대해서 소개하고 "grant_rights" 테이블에 권한부여 SQL 쿼리를 보내면 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 권한부여를 진행하면 문제를 풀 수 있습니다.

    GRANT ALL PRIVILEGES ON grant_rights TO unauthorized_user;
     

    [그림2] 문제풀이 화면

    5번 문제 소개

    5번 문제는 SQL 인젝션을 수행하는 문제로 기본적인 틀이 존재하고 선택을 통해 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 문제를 풀 수 있습니다.

     

    [그림2] 문제풀이 화면

     

    6번 문제 소개

    6번 문제는 SQL 인젝션을 수행하는 문제로 기본적인 SQL 인젝션 쿼리를 작성하여 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 사용자 테이블에서 모든 데이터를 검색해서 문제를 풀 수 있습니다.

    Login_Count: 1
    User_Id: 1 union select * From user_data;
     

    [그림2] 문제풀이 화면

    7번 문제 소개

    7번 문제는 SQL 인젝션을 수행하는 문제로 기본적인 SQL 인젝션 쿼리를 작성하여 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 사용자 테이블에서 모든 데이터를 검색해서 문제를 풀 수 있습니다.

    Employee Name: 1
    Authentication TAN: 1' or '1'='1
     

    [그림2] 문제풀이 화면

    8번 문제 소개

    8번 문제는 SQL 인젝션을 수행하는 문제로 기본적인 SQL 인젝션 쿼리를 작성하여 문제를 풀 수 있습니다.

     

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 사용자 테이블에서 모든 데이터를 검색해서 문제를 풀 수 있습니다.

    Employee Name: 1'; UPDATE EMPLOYEES SET SALARY = 99999 where LAST_NAME = 'Smith';--
    Authentication TAN: 1
     

    [그림2] 문제풀이 화면

    9번 문제 소개

    9번 문제는 SQL 인젝션을 수행하는 문제로 기본적인 SQL 인젝션 쿼리를 작성하여 문제를 풀 수 있습니다.

    [그림1] 문제 화면

    아래 쿼리문을 사용하여 사용자 테이블에서 모든 데이터를 검색해서 문제를 풀 수 있습니다.

    1'; drop table access_log--
     

    [그림2] 문제풀이 화면

    댓글