반응형
SMALL

SQL INJECTION 36

SQL Injection - Blind SQL Injection 기법

Blind SQL Injection - SQL 쿼리의 결과가 보이지 않은 상황 - 참일 때와 거짓일 때 다른 결과를 나오게 유도해야한다. - 참이 나올때의 데이터 1개를 저장해서 데이터 전체를 찾을 때까지 브루트포싱한다. (브루트 포스란? 무차별 대입 공격으로 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법.) - Error Based SQL과 Time Based SQL로 나뉨 Error Based SQL Injection - 에러가 나오는지 여부에 따라 참 거짓 구분 - SQL 구문에 sql 쿼리를 보낼 때 에러가 발생하면 에러 문구를 출력시킴 - 다른 컴퓨터 언어의 조건문과 같은 조건문 함수를 이용 - if(조건문 ,참일 때 반환값, 거짓일 때 반환값) - 참일 때 반환값..

SQL Injection 필터링 우회 방법 - 주석편

sql injection을 하다보면 query문을 참인 값으로 만들기 위해 뒤에 문장을 주석 처리하는 경우가 많다. 이럴 때 주석처리의 의미를 가지고 있는 다양한 방법 첫 번째 - # (%23) - 주소에서는 %23으로 사용한다. - 해당 문장에서 그 문장 한줄만 주석처리 한다. (# 뒷부분) 두 번째 - /**/ - 주소에서 그대로 사용된다. - /*부터 */까지 주석처리 한다. - /* /* */ */ 이런 상황이면 먼저 열리고 먼저 닫힌 것까지 주석처리 (/* /* */ */) 세 번째 - -- - 주소에서 그대로 사용된다. - 해당 문장에서 그 문장 한줄만 주석처리한다. (-- 뒷부분) - --바로 뒤에 공백이나 다른 문자가 있어야지 주석으로 성립된다. 네 번째 - ;%00 - %00은 NULL을..

SQL Injection 필터링 우회 방법 - 대표 함수편

위와 같이 특정 함수들을 필터링하거나 또는 어떤 함수를 통해 필터링되는 것을 우회하는 방법 첫 번째 - str_replace(string $search, string $replace, string $subject) (이 함수는 특정 문자열을 아예 다른 문자열로 바꿔버리는 함수로 필터링 함수와 같이 사용된다.) 1) 필터링 되는 문자열 사이에 문자열을 넣는다. - ex) str_replace("admin","",$_GET[id]) --> aadmindmin 으로 입력하면 가운데 admin이 사라지면서 다시 admin이 남는것을 확인할 수 있다. 이 원리를 이용한다. 두 번째 - substr(string $str, int $start, int $length) (substr 함수는 비밀번호를 찾을 때나 아이디..

반응형
LIST