분류 전체보기(179)
-
[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-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