1. 문자열 함수
문자열에서 일부분을 추출하는 데 사용되는 SQL 함수이다
Blind Injection에 문자를 각각 뽑아서 하나하나 문자를 ASCII 코드로 변환을 시켜 비트연산을 시켜서 해당 문자를 추론하는 기법에 이용되기도 한다
test 문자열에서 첫 번째 시작위치에서 1개의 문자를 출력
select substring('test', 1, 1);
test 문자열에서 두 번째 시작위치에서 1개의 문자를 출력
select substring('test', 2, 1);
test 문자열에서 세 번째 시작위치에서 1개의 문자를 출력
select substring('test', 3, 1);
test 문자열에서 세 번째 시작위치에서 2개의 문자를 출력
select substring('test', 3, 2);
test 문자열에서 세 번째 시작위치에서 2개의 문자를 출력
select substr('test', 3, 2);
test 문자열에서 세 번째 시작위치에서 2개의 문자를 출력
select mid('test', 3, 2);
2. 문자, 아스키 코드 변환 함수
아스키 코드는 총 7비트로 구성이 되어있어 128(2⁷)개의 문자 코드가 있고 이들 중에는 제어 문자나 출력 가능한 문자로 나뉘어져 있다
문자를 아스키 코드로 변환
select ascii('a');
bin() 함수를 이용하여 이진수 값으로 출력
select bin(ascii('a'));
서브스트링과 이용하면 각각의 문자에 해당하는 ascii 코드를 알 수 있다
select ascii(substring('test', 1, 1));
concat() 함수를 이용하여 싱글쿼터(작은따옴표)를 사용하지 않고 문자를 붙이는 방법
select concat(char(97), char(97));
문자와 싱글쿼터 없이 추출할 수 있다
3. COUNT 함수
임계값(목표값)을 지정하는데 유용하다
SELECT CONUT(COLUMN) FROM [TABLE]
select count(*) from member;
4. 길이 함수
test 문자열의 길이 출력
select length('test');
name과 해당 행의 emai 값의 길이를 출력 -> 해당 열에 대한 임계값 알 수 있다
select name, length(email) from member;
'웹 해킹' 카테고리의 다른 글
[웹 해킹 시작 전] SQL 기본 문법(2) (0) | 2024.01.19 |
---|---|
[웹 해킹 시작 전] SQL 기본 문법(1) (0) | 2024.01.19 |