웹해킹/sql injection

SQL Injection 필터링 우회 방법 - 연산자편

정보보호학과 새내기 2021. 7. 8. 16:49
반응형
<?php
	if(preg_match('/=|!=|or|and/i', $_GET[pw]))
?>

위와 같이 연산자를 필터링하는 경우 우회 방법

 

첫 번째 - AND

1) &&

- url encoding: %26%26

 

두 번째 - OR

1) ||

 

세 번째 - 등호(=)

1) like 연산자

- 등호랑 똑같이 사용

- 추가로 pw like "a%", "%a%" , "%a" 와 같이 쿼리문에서 응용가능하다.

a가 해당 문자열 안에 있어도 참으로 반환

(순서대로 첫번째 문자가 a일 때, 문자열 안에 a가 들어있을 때, 마지막 문자가 a일 때)

 

2) in 연산자

- 등호 대신 in을 사용하고 ()를 사용하여 표현한다.

- ex) pw in ("1234")

 

3) instr 함수

- ex) instr(id,"admin")

 

4) 부등호 (< , >)

- 등호 대신 등식으로 표현

- ex) length(pw) = 8 ---> length(pw) > 7 and length(pw) <9

 

반응형