normaltic 취업반 5기(52)
-
[normaltic 취업반 5기] 2023-12-06 7주차 내용 정리
Error Based SQL Injection Error Based SQL Injection 공격은 SQL Injection 공격 중 한 종류로서 SQL 쿼리문에 문제가 있을 때 출력되는 에러 메시지를 이용한다. SQL 쿼리문이 에러가 발생하는 원인에는 여러 가지가 존재하며 그중에서도 특정 에러를 유발하는 SQL 쿼리문을 사용해야 한다. SQL 쿼리문에서 유발시킬 수 있는 에러는 두 가지가 존재한다. 문법 에러 : 문법 에러는 쿼리문 자체가 문법적으로 문제가 있어 실행 자체가 안 되는 에러다. 그렇기에 해당 에러를 발생시켜 출력되는 에러 메시지는 이용 가치가 없다. 로직 에러 : 로직 에러는 쿼리문으로서는 문제가 없어 실행은 되나 그 안에 문제가 되는 부분을 에러 메시지로 출력한다. 해당 에러를 유발시킴..
2023.12.07 -
[normaltic 취업반 5기] 2023-12-02 6주차 과제 : 3번 과제
3번 과제 과제 목표 : 실습용 웹 어플리케이션의 SQL Injection 1, 2 풀기 3번 과제 실습 : SQL Injection 1번 문제 실습용 웹 어플리케이션의 기능으로 사용자 아이디를 입력하게 되면 사용자의 정보가 조회되는 것으로 보인다. 조회되는 데이터의 수에는 딱히 제한이 없는 것 같이 보인다. 조회에 사용되는 쿼리문이 어떤 형태로 구성되어 있는지 확인해 보기 위해 테스트로 데이터를 입력해 보자. 입력창에 'admin' 문자열을 입력했더니 아이디가 'Adminer'인 사용자의 정보가 조회되었다. 입력된 데이터와 정확히 일치하지 않아도 입력한 문자열이 포함된 사용자 정보가 조회되는 것으로 보아 게시글 조회에 사용되는 쿼리문처럼 like문을 사용하는 것으로 보인다. 그렇다면 해당 문제의 목표인..
2023.12.02 -
[normaltic 취업반 5기] 2023-11-29 6주차 과제 : 2번 과제
2번 과제 과제 목표 : 실습 웹 어플리케이션에서 'doldol' 데이터만 출력하라. (doldol 데이터 하나만 출력되도록!) 추가 조건 : 과제에 쓰이는 쿼리문은 모른다는 가정하에 진행한다. 2번 과제 실습 2번 과제를 풀기 위한 실습용 웹 어플리케이션 기능은 내 정보 검색이다. 내 정보를 검색하기 위해서는 입력창에 비밀번호를 입력하는 것으로 보인다. 일반적으로 사용자의 정보를 DB에 저장할 때 사용자의 아이디를 기본키로 설정하여 식별에 쓰이도록 한다. 이는 중복된 아이디를 방지하여 사용자들을 유일하게 식별할 수 있도록 하는 효과를 발휘한다. 그러나 비밀번호는 중복이 될 수도 있기 때문에 사용자 식별에는 적합하지 않다. 이러한 정보들을 취합하여 SQL Injection을 쓰기 위해 해당 어플리케이션에..
2023.11.30 -
[normaltic 취업반 5기] 2023-11-29 6주차 내용 정리
UNION Based SQL Injection SQL Injection 공격은 특정 SQL 쿼리문을 삽입하여 인증 우회나 DB 데이터를 추출하는 해킹 기법이다. 그중 DB 데이터 추출 공격은 특정 쿼리문 삽입 시 그 결과가 출력되는 게시판의 게시글 조회 기능으로 수행할 수 있다. 해당 공격은 SQL 쿼리문의 UNION이란 문법을 사용하므로 가능하다. 그리고 UNION 문법을 사용하는 공격 유형을 UNION Based SQL Injection이라 부른다. 그렇다면 먼저 UNION 문법이 어떤건지 알아보자. 1) UNION UNION이란 2개 이상의 select문을 하나의 select문으로 합치는 문법이다. 이때 생기는 중복된 값들은 하나만 남기고 모두 제거한다. UNION 문법을 쓰기 위해서는 여러 조건들..
2023.11.29 -
[normaltic 취업반 5기] 2023-11-22 5주차 내용 정리
SQL 인젝션 (Injection) SQL 인젝션이란 웹 사이트의 보안 취약점을 이용하여 특정 SQL 쿼리문을 삽입하여 공격자에게 필요한 DB 정보를 추출하거나 인증 우회 등의 공격을 하는 해킹 기법이다. 주로 클라이언트의 입력 값에 대한 필터링 기능이 제대로 갖춰지지 않은 경우 발생한다. SQL 인젝션 공격은 쉬운 난이도에 비해 그 피해는 상당히 효과적인 공격이므로 주의해야 한다. SQL 인젝션의 공격이 성공하려면 우선적으로 갖춰야 할 조건이 존재한다. 웹 애플리케이션이 DB와 연동되어있어야 한다. 사용자가 입력한 입력 값이 SQL 구문의 일부로 사용되어야 한다. 공격 이름부터가 DB 언어인 SQL이기 때문에 DB와의 연동이 되어있어야 공격을 진행할 수 있으며 또한 SQL 구문에 사용자가 입력한 입력 ..
2023.11.22 -
[normaltic 취업반 5기] 2023-11-15 4주차 과제 : 2번 과제
XSS (Cross Site Scripting) XSS는 웹 애플리케이션에서 많이 나타나는 취약점 중 하나로 웹 페이지에 악의적인 의도를 담은 스크립트를 삽입하여 웹 페이지 사용자에게 피해를 입힌다. 해당 취약점을 이용한 공격의 성공 확률을 높이기 위해 주로 여러 사용자가 보는 게시판에 악성 스크립트를 삽입한 게시글을 등록해놓고 게시판 이용자가 이를 보게 되면 이용자에게 발급된 쿠키를 탈취한다거나 이용자의 의도와 상관없는 기능을 수행하도록 만든다. 이 취약점은 웹 애플리케이션이 이용자로부터 입력받은 값에 대한 유효성 검사를 제대로 하지 않은 경우 발생한다. XSS 취약점을 이용한 공격에는 여러가지가 존재하는데 이 중 쿠키 탈취와 키로거 공격을 실습을 통해 알아보자. 쿠키(세션) 탈취 쿠키는 클라이언트가 ..
2023.11.17