normaltic 취업반 5기/과제(24)
-
[normaltic 취업반 5기] 2023-12-13 8주차 과제 : 2번 과제 SQL Injection 공격 기법 정리
SQL Injection이란? SQL Injection이란 웹 사이트의 보안 취약점을 이용하여 특정 SQL 쿼리문을 삽입하여 공격자에게 필요한 DB 정보를 추출하거나 인증 우회 등의 공격을 하는 해킹 기법이다. 주로 클라이언트가 입력하는 값에 대한 필터링 기능이 제대로 갖춰지지 않은 경우 발생한다. SQL Injection 공격은 쉬운 난이도에 비해 그 피해는 상당히 효과적이므로 주의해야 한다. SQL Injection으로 가능한 공격으로는 다음과 같다. Authentication Bypass (인증 우회) DB Access (데이터베이스 접근) Content Change (콘텐츠 변경) SQL Injection 조건 SQL Injection 공격이 이루어지는 원리에 대해 설명하기 위해서는 먼저 SQL ..
2023.12.16 -
[normaltic 취업반 5기] 2023-12-06 7주차 과제 : SQL 6번 문제
SQL Injection 6번 문제 유효 계정 정보 ID : normaltic Password : 1234 1) SQL Injection 작동 여부 테스트 결과 해당 문제에서는 SQL Injection을 사용 가능하다. 2) 사용 가능한 SQL Injection 종류 파악 로그인 페이지 같은 경우 UNION SQL Injection 공격은 사용이 힘들기 때문에 나머지 두 공격이 가능한지 확인한다. Error Based SQL Injection 공격에 쓰일 Payload를 입력했더니 에러 메시지가 출력되지 않았다. 그렇다면 해당 문제는 Blind SQL Injection 공격을 진행해야 한다. 3) Blind SQL Injection 자동화 프로그램 Blind SQL Injection 공격은 문자를 하나하..
2023.12.07 -
[normaltic 취업반 5기] 2023-12-06 7주차 과제 : SQL 3, 4, 5번 문제
SQL Injection 3번 문제 유효 계정 정보 ID : normaltic Password : 1234 1) SQL Injection 작동 여부 해당 문제에서 SQL Injection이 작동하는지 알아보기 위해 유효 계정 정보를 사용한다. 테스트 결과 해당 문제에서는 SQL Injection을 사용 가능하다. 2) 사용 가능한 SQL Injection 종류 파악 SQL Injection 공격 종류는 총 3가지가 존재하며 각각 쓰이는 상황이 다르다. UNION SQL Injection : 쿼리문 출력 결과가 화면에 표시되는 경우 Error Based SQL Injection : 쿼리문의 에러 메시지가 화면에 표시되는 경우 Blind SQL Injection : 쿼리문의 결과가 참과 거짓인 경우 로그인 ..
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-15 4주차 과제 : 2번 과제
XSS (Cross Site Scripting) XSS는 웹 애플리케이션에서 많이 나타나는 취약점 중 하나로 웹 페이지에 악의적인 의도를 담은 스크립트를 삽입하여 웹 페이지 사용자에게 피해를 입힌다. 해당 취약점을 이용한 공격의 성공 확률을 높이기 위해 주로 여러 사용자가 보는 게시판에 악성 스크립트를 삽입한 게시글을 등록해놓고 게시판 이용자가 이를 보게 되면 이용자에게 발급된 쿠키를 탈취한다거나 이용자의 의도와 상관없는 기능을 수행하도록 만든다. 이 취약점은 웹 애플리케이션이 이용자로부터 입력받은 값에 대한 유효성 검사를 제대로 하지 않은 경우 발생한다. XSS 취약점을 이용한 공격에는 여러가지가 존재하는데 이 중 쿠키 탈취와 키로거 공격을 실습을 통해 알아보자. 쿠키(세션) 탈취 쿠키는 클라이언트가 ..
2023.11.17