Menu
-
' or 1=1 -- ' and 1=1 -- : 출력 o > SELECT * FROM tb_board WHERE title like '%' and 1=1 -- %' ' and 1=2 -- : 출력 x 1. 에러 유무 분석 / 취약점 진단 / 공격 조건문 완성 ' or 1=1 -- ' or 1=2 -- >> 결과가 동일할 때 조건문 구문이 아니다 ' or 1=1 and 1=1 -- ' or 1=2 and 1=2 -- 2. 환경 분석 3. 공격 선택 4. 메타데이터 조회 5. rownum 가상 컬럼 # mysql : #,-- (주석) # oracle: --(주석) SELECT username FROM all_users; > 유저이름 정상출력 SELECT rownum,username FROM all_users..
ORACLE INJECTION' or 1=1 -- ' and 1=1 -- : 출력 o > SELECT * FROM tb_board WHERE title like '%' and 1=1 -- %' ' and 1=2 -- : 출력 x 1. 에러 유무 분석 / 취약점 진단 / 공격 조건문 완성 ' or 1=1 -- ' or 1=2 -- >> 결과가 동일할 때 조건문 구문이 아니다 ' or 1=1 and 1=1 -- ' or 1=2 and 1=2 -- 2. 환경 분석 3. 공격 선택 4. 메타데이터 조회 5. rownum 가상 컬럼 # mysql : #,-- (주석) # oracle: --(주석) SELECT username FROM all_users; > 유저이름 정상출력 SELECT rownum,username FROM all_users..
2022.07.05 -
1. 웹사이트 자체 에러 페이지가 뜨지 않을 때 2. 데이터 베이스 응답이 아닌 서버 응답으로 나올 때 3. Order by절이 불가능할 때 다양한 Blind 공격 방법 Content Blind (기준문자) Response Blind (응답메세지) 다양한 Blind 탐색 기법 순차 탐색 이진 탐색 비트연산 탐색 Blind 공격 핵심은 서버의 참과 거짓의 응답을 가지고 판별 Content Based 게시판 자체에서 참/거짓을 판별할 수 있는 데이터가 있는 경우 ex) test라는 기준문자를 가지고 검색을 하였을 때 참 : test가 포함된 구문이 출력 거짓 : 아무 문자도 출력이 되지 않음 Response Based 서버의 응답사이즈를 보고 결정 참 : 게시글이 존재하지 않습니다 거짓 : 페이지 에러 안내..
Blind Injection -21. 웹사이트 자체 에러 페이지가 뜨지 않을 때 2. 데이터 베이스 응답이 아닌 서버 응답으로 나올 때 3. Order by절이 불가능할 때 다양한 Blind 공격 방법 Content Blind (기준문자) Response Blind (응답메세지) 다양한 Blind 탐색 기법 순차 탐색 이진 탐색 비트연산 탐색 Blind 공격 핵심은 서버의 참과 거짓의 응답을 가지고 판별 Content Based 게시판 자체에서 참/거짓을 판별할 수 있는 데이터가 있는 경우 ex) test라는 기준문자를 가지고 검색을 하였을 때 참 : test가 포함된 구문이 출력 거짓 : 아무 문자도 출력이 되지 않음 Response Based 서버의 응답사이즈를 보고 결정 참 : 게시글이 존재하지 않습니다 거짓 : 페이지 에러 안내..
2022.07.04 -
Blind Injection content Based Response Based 순차 탐색 이진 탐색 Bit 연산 탐색 SELECT substr((SELECT password FROM board.members WHERE id='admin'),1,1)='a'; SELECT substr((SELECT password FROM board.members WHERE id='admin'),1,1)='@'; Blind Injection 공격의 핵심은 참/거짓을 판별하여 응답값을 받는 것 메타데이터 매핑 DB이름 목록화 Table 이름 목록화 Column 이름의 목록화 개발자 입장에서 목록들을 유추해야한다 SELECT table_name FROM information_schema...
Blind Injection -1Blind Injection content Based Response Based 순차 탐색 이진 탐색 Bit 연산 탐색 SELECT substr((SELECT password FROM board.members WHERE id='admin'),1,1)='a'; SELECT substr((SELECT password FROM board.members WHERE id='admin'),1,1)='@'; Blind Injection 공격의 핵심은 참/거짓을 판별하여 응답값을 받는 것 메타데이터 매핑 DB이름 목록화 Table 이름 목록화 Column 이름의 목록화 개발자 입장에서 목록들을 유추해야한다 SELECT table_name FROM information_schema...
2022.07.01 -
system kitri1234!
oracle 환경 설정system kitri1234!
2022.06.30 -
UNION SQL INJECTION 공격 사용자 입력값 // SQL 쿼리를 공격 UNION // UNION ALL ex) CREATE DATABASE test; USE test CREATE TABLE user1 (idx int, id varchar(10)); INSERT INTO user1 VALUES (1,'admin'); INSERT INTO user1 VALUES (2,'Kim'); INSERT INTO user1 VALUES (3,'Park'); CREATE TABLE user2 (idx int,id varchar(10)); INSERT INTO user2 VALUES (1,'admin'); INSERT INTO user2 VALUES (2,'Lee'); INSERT INTO user2 VALUE..
UNION SQL INJECTIONUNION SQL INJECTION 공격 사용자 입력값 // SQL 쿼리를 공격 UNION // UNION ALL ex) CREATE DATABASE test; USE test CREATE TABLE user1 (idx int, id varchar(10)); INSERT INTO user1 VALUES (1,'admin'); INSERT INTO user1 VALUES (2,'Kim'); INSERT INTO user1 VALUES (3,'Park'); CREATE TABLE user2 (idx int,id varchar(10)); INSERT INTO user2 VALUES (1,'admin'); INSERT INTO user2 VALUES (2,'Lee'); INSERT INTO user2 VALUE..
2022.06.30 -
SQL 인젝션 프로세스 1. 에러 유무 / 취약점 진단 강제로 에러를 발생시키는 방법 SELECT * FROM board WHERE title = ' ';# SQL문 예측 가능 -> 응용 1. 키워드 검색에서 오류 발생 2. url 주소에서 오류 발생 3. 정렬에서도 에러가 발생 -> 취약점 진단 웹 서버와 DB서버 간의 잘못된 쿼리를 날렸을 때 정상/비정상 반응이 나오게 하는 방법 idx에서 더하기 혹은 빼기를 해본다 SELECT * FROM board WHERE title = ' ';# 기존 쿼리문 SELECT * FROM board WHERE title = '' or 1=1 # ';# True SELECT * FROM board WHERE title = '' and 1=2 # ';# False 뒤에..
SQL InjectionSQL 인젝션 프로세스 1. 에러 유무 / 취약점 진단 강제로 에러를 발생시키는 방법 SELECT * FROM board WHERE title = ' ';# SQL문 예측 가능 -> 응용 1. 키워드 검색에서 오류 발생 2. url 주소에서 오류 발생 3. 정렬에서도 에러가 발생 -> 취약점 진단 웹 서버와 DB서버 간의 잘못된 쿼리를 날렸을 때 정상/비정상 반응이 나오게 하는 방법 idx에서 더하기 혹은 빼기를 해본다 SELECT * FROM board WHERE title = ' ';# 기존 쿼리문 SELECT * FROM board WHERE title = '' or 1=1 # ';# True SELECT * FROM board WHERE title = '' and 1=2 # ';# False 뒤에..
2022.06.29