[SQL injection] get unknown Column’s data

SQL injection_ get unknown Column’s data “SELECT * FROM Table WHERE …” 위처럼 Column의 이름을 알지 못할 경우 해당 information_schema의 Column 테이블에서 가져와야 한다. 하지만 information_schema가 막힌경우 Column의 이름을 알 수 가 없다.  그러나 이번 글에서 이름을 알지 못하는 Column의 정보를 가져오는 방법을 알아보자 Concept 일반적인 SQLi 경우 컬럼의 정보를 얻기 위해 information_schema.columns 에서 가져 …

SQL Injection using User Defined Variable

SQL Injection using User Defined Variable 사용자 정의 변수를 이용한 SQL injection 기법(거의 문제 풀이용…) Syntax[refer] SELECT @UDV := ‘String’, @UDV := Numeric   OR SET @UDV := ‘String’ SELECT * FROM Table WHERE ‘Column’=@UDV MySQL에선 “사용자 정의 변수“를 지원한다. 기본적인 문법은 “@변수명“이고 “:= 값“연산자로 변수에 값을 넣을 수 있다. 하지만 이 변수 선언이 WHERE절 에서도 …

Efficient Blind SQL injection

Efficient Blind SQL injection Efficient Blind SQL injection 즉, 효율적인 블라인드 SQLi란 말 그대로 효율을 극대화한 블라인드 SQLi이다. 기존 Blind SQLi는 한 글자를 알아내기위해최대(big-O)26번이고 만약 대소문자를 구분한다면 26*2인 52번의 공격 시도를 해야한다. 하지만 Efficient Blind SQLi는 문자를 2진수로 바꾸어 최대(big-O)7번의 시도만으로 한 글자를 알아 낼 수 있다. 개념 설명 MySQL의 경우 bin() 이라는 함수가 존재한다. 이 함수는 …

[SQL injection]Bilnd SQL injection

FILE_ The basic of Blind SQL Injection-pride from 해커스쿨 Blind SQL injection mysql-5 from ???   BLOG_ blind sql injection(1) – 기초 blind sql injection(2) – 기초   FUNCTION_ str = string, char = character, num# = number same paragraph is similar funtion substr(str, num1, num2) > return char mid(str, num1, num2) > return char length(str) > …