목록2025/01/09 (2)
kjh00n의 기록저장소
Blind SQL Injection● 웹 서버의 보안 설정으로 기존의 SQL Injection을 통한 정보 획득이 불가능한 경우 시도할 수 있는 공격● 에러 메시지를 통해 직접적으로 정보를 획득하지 않음● 눈에 보이지 않기 때문에(결과값이 응답 페이지에 없음) 일일이 하나씩 유추해서 원하는 결과를 얻어야함● 공격자가 유추한 데이터를 SQL Query에 대입하여 결과를 참/거짓으로 구분하여 데이터를 획득 특징● 참/거짓을 구분할 수 있는 서버의 응답이 필요함● Brute Forcing한 문자씩 대입 공격을 수행함 → substring(문자, 시작위치, 크기)공격의 시간이 오래 소요 됨● 많은 양의 Log를 발생시키므로 공격횟수를 최소화 해야함Boolean SQL Injection실습substr(원본데이터,..
[정의][UNION]• UNION - 두 개의 테이블 결과값을 하나의 테이블에 출력하는 DML• UNION 조건 - 각 테이블에서 반환하는 열의 개수가 같아야 함 - 합쳐지는 각 열의 자료형이 같아야 함My-SQL은 자동 형 변환이 되기 때문에 일치하지 않아도 됨• Union을 이용한 데이터 추출 - 기존 SELECT 문의 출력에 공격자가 원하는 데이터를 합쳐 출력해낼 수 있음기존 SELECT 쿼리 문 UNION 공격자가 작성한 SELECT 쿼리 문 - 열의 수를 조작하여 정상 SQL Query 문이 반환하는 열의 개수 확인 - 조회 결과가 화면에 출력되는 경우 출력 위치 확인 - 공격자가 원하는 데이터가 화면에 출력되도록 하여 데이터 확인 [Database Schema][SQL Injection 유용한..