반응형
SMALL

SQL 32

SQL Injection - Blind SQL Injection 기법

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

LOS (Lord of SQL injection) 문제 14번 giant write-up

문제 14번 - giant query : select 1234 fromprob_giant where 1 일단 다른 문제들과 마찬가지로 php 코드가 주어져있다. 먼저 필터링 함수를 확인해보면 shit을 받는 변수에 1보다 큰 크기의 문자열이 들어가면 안되고 공백, 엔터, \r, 탭을 필터링한다는 것을 알 수 있다. 추가로 i를 통해 대소문자를 구별하지 않는다는 것을 확인 할 수 있다. 또 clear 조건을 확인하기 위해 조건문 코드를 확인해보니 query문을 참으로 만들어줄 문자열(?)이 1234에 들어가면 clear가 된다는 것을 알 수 있다. 위에 조건들을 확인해보니 query문에 from과 prob 사이에 공백이 필요하다는 것을 알 수 있는데 shit에 공백을 의미하는 문자를 넣어주면 된다는 것을 ..

반응형
LIST