
webgoat 첫 번째 섹션입니다. SQL injection을 실습할 수 있는 사이트입니다.
영어로 되어 있어서 독해를 잘하시는 분들은 문제는 없겠지만 한국어로 보시는 게 좋으신 분들은 번역을 눌러서 한국어로 보시는 걸 추천합니다.
저기 위에 보면 SQL (employees) 테이블에 직원들 데이터들이 나열되어 있습니다.
<주요 포인트>
데이터 조작 언어 (DML) : 테이블 안에 있는 실제 데이터(레코드)를 조회, 입력, 수정, 삭제할 때 사용하는 언어
- SELECT: 데이터 조회 (SQL 인젝션의 주요 타깃)
- INSERT: 새로운 데이터 삽입
- UPDATE: 기존 데이터 수정
- DELETE: 데이터 삭제
데이터 정의 언어 (DDL): DB 객체(테이블, 사용자) 자체를 만들거나 수정, 삭제할 때 사용함 '틀'을 만드는 언어
- CREATE: 새로운 테이블이나 데이터베이스 생성
- ALTER: 기존 테이블의 구조 변경 (칼럼 추가 등)
- DROP: 테이블이나 데이터베이스를 완전히 삭제
- TRUNCATE: 테이블의 내용은 다 지우지만 구조는 남김
데이터 제어 언어 (DCL) : 데이터를 접근할 수 있는 권한을 부여하거나 회수할 때 사용합니다. 보안의 핵심인 '접근 제어'를 담당함
- GRANT: 특정 사용자에게 권한(SELECT, UPDATE 등) 부여
- REVOKE: 부여했던 권한을 다시 뺏기

위에 표를 보고 직원 Bob France의 부서를 조회하라고 미션이 주어졌습니다
SQL 쿼리 검색란에 쓰고 제출하라는 거 같습니다.
select department from employees where first_name='Bob'

Select 구문을 이용하여 테이블 이름인 employees에서 Bob을 조회하였고
성공적으로 조회한 모습이다.
