본문으로 바로가기

ROOT-ME CHALLENGES - Web Server : 32 SQL injection - numeric

category War-Game/Root-me 2019. 4. 3. 13:23

Root-me 웹서버 챌린지 32번 SQL injection - numeric 문제입니다!

 

 

SQl injection은 sql쿼리를 삽입하여 DB에 접근하는 공격기법입니다.

너무나 유명한 공격기법입ㄴ다. 자 이제 문제를 풀어보도록 하겠습니다.

Start the challenge~!

 

 

Accueil 페이지에 접근하여 싱글쿼터를 삽입하니

인젝션이 가능한 포인트를 찾았네요.

에러메시지에 SQLite3 를 사용하는 걸로 출력되었네요.

 

 

바로 ORDER BY 쿼리를 넣어 필드 갯수를 알아냅니다.!

에러메시지가 발생할 때까지 카운트를 1씩 증가시켜 요청합니다.

 

 

sqlite는 데이터베이스 스키마를 sqlite_master 테이블에 저장합니다.

또한, sqlite_master 에는 각 테이블의 정보가 포함 되어있어

sql 필드에는 DB생성할 때 사용된 구문이 저장되어있습니다.

(쿼리문:union select 1,sql,3 from sqlite_master)

sql필드를 union select 하였더니 테이블명과 필드명이 출력되네요.

 

(쿼리문: union select 1,username,password from users)

출력된 테이블명과 필드명을 select 하니 ID,Password 을 출력해 주네요~!

 

 

SQL Injection - numeric 문제 미션 클리어~!