문제 2.
Employees의 데이터를 가지고 있는 employees 테이블이 있다

예시 테이블을 보고 Bob Franco라는 사람
답:
select * from employees where first_name='Bob' and last_name='Franco';

문제 3.
DML 언어에 관한 설명이다.
DML은 데이터를 직접적으로 조회, 수정, 추가, 삭제 가능한 쿼리들을 말한다. Select/Insert/Delete/Update 가 있다.

답:
update employees set department = 'Sales' where first_name = 'Tobi' and last_name = 'Barnett';

문제 4.
DDL에 관한 설명이다.
DDL은 데이터를 정의하는 쿼리들을 의미한다. 예를 들어 데이터베이스나 테이블 자체에 대한 생성 또는 삭제 그리고 수정이 있을수있다. Create/Drop/Alter 문이 있다.

답:
문제는 employees table에 phone 컬럼을 추가하면 되는 문제이다.
alter table employees add column phone varchar(20);

문제 5.

답
grant_rights라는 테이블에 unauthorized_user가 접근할 수 있게 권한을 부여하면 되는 것이다. 기본적으로 grant 쿼리는 권한을 줄 테이블에 대한 데이터베이스명을 알아야 db명.테이블명 이런식으로 쿼리를 짜는데. 데이터베이스명을 전혀 모른다.
이 부분은 WebGoat가 기본적으로 HSqlDB를 사용하고 있어 발생하는 이슈로, HSqlDB는 grant나 revoke를 할때 db명 없이 바로 테이블명을 넣어 권한을 제어할 수 있다
grant all privileges on grant_rights to unauthorized_user;

문제 9.
문자열의 범위를 임의로 종료시킨다.

문제 10.
다음은 '가 필요치 않은 숫자형태의 입력에서 발생할 수 있는 SQL Injection이다.
제공된 쿼리에서는 Login_Count, User_ID 둘 다 '가 쓰이지 않지만, 문제를 보면 둘 중 하나에서 공격이 된다고 한다.

User_Id 부분에서 참이 되는 값으로 넣어주니 공격이 통했다.

문제 11.
보안의 3요소인 기밀성,무결성,가용성을 SQL Injection으로 해칠 수 있다는 말이다. 내용은 앞에서 다룬 공격과 동일하다.

나는 큰 회사에서 일하는 존이고, 회사는 직원들이 그들이 일하는 부서나 그들의 월급 등과 같은 내부 데이터를 볼 수 있도록 하는 내부 시스템이 있다.
이 시스템은 직원들이 독특한 인증 방식인 TAN을 사용하고 있다. 너의 현재 TAN은 3SL99A이다.
너는 항상 너의 봉급을 높이고 싶어했다. 그래서 너는 너의 현재 월급 및 너의 동료들의 월급까지 보길 원한다.
아래의 form을 이용해서 employee 테이블로부터 모든 직원들의 데이터를 찾아라.

문제 12.
무결성을 쿼리 체이닝을 이용하여 침해하는 행위이다.
쿼리 체이닝은 쿼리의 끝을 의미하는 세미콜론(;)을 이용하여, 임의로 쿼리를 종료시킨 뒤 뒤에 공격자가 원하는 쿼리를 넣어 같이 실행시키는것이다.

답:
'를 넣어 문자열의 범위를 임의로 닫아준 뒤, ;을 넣어 쿼리를 임의로 종료시킨다
';update employees set salary=99999 where auth_tan='3SL99A

문제 13.
가용성을 침해하는 경우이다. 데이터를 임의로 지우거나, 수정하거나 하면 서비스 가용성을 침해할 수 있다는 내용이다

지금까지의 나의 입력이 모두 access_log 테이블에 기록되었으니 이 흔적을 지워야한다. delete는 먹히지 않으니 그냥 table 자체를 drop한다.
답:
test' drop table access_log--

'Web Hacking Study > 웹해킹' 카테고리의 다른 글
| [Webgoat] A3 Injection - Cross Site Scripting (0) | 2023.10.30 |
|---|---|
| [Webgoat] A3 Injection - SQL Injection (Advanced) (0) | 2023.10.30 |
| SQL Injection 우회 참고 (0) | 2022.06.08 |
| CSRF (Cross Site Request Forgery) (0) | 2022.04.28 |
| 데이터베이스에서 필요한 값 출력하기 & php 문법 etc.. (0) | 2022.04.23 |
댓글