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 문제 미션 클리어~!
'War-Game > Root-me' 카테고리의 다른 글
ROOT-ME CHALLENGES - CRACKING : 9 PYC - ByteCode (0) | 2019.04.03 |
---|---|
ROOT-ME CHALLENGES - CRACKING : 7 ELF - Ptrace (0) | 2019.04.03 |
ROOT-ME CHALLENGES - CRACKING : 6 ELF - Fake Instructions (0) | 2019.04.03 |
ROOT-ME CHALLENGES - CRACKING : 4 ELF C++ 0 PROTECTION (0) | 2019.04.03 |
ROOT-ME CHALLENGES - CRACKING : 3 PE 0 protection (0) | 2019.04.03 |