// Flag is in `flag_{$hash}` table, not in `member` table. Let's look over whole of the database
Flag는 member 테이블이 아니라 flag_{$hash} 라는 테이블에 존재한다고 한다. 메타데이터를 써야할 분위기다.
MySQL에서는 information_schema 라는 메타데이터를 사용하였다. SQLite 는 sqlite_master 라는 메타데이터를 사용한다. sqlite_master를 이용하여 테이블의 이름을 불러와 보자. group_concat 함수를 사용하면 원하는 데이터를 모두 출력할 수 있다.(https://lucvs.xyz/entry/Real-World-SQL-Injection, 참고)
pw=' union select group_concat(tbl_name) from sqlite_master--
member 테이블과 flag_70c81d99 테이블이 등장하였다. 테이블의 형식도 알맞다. 우리가 사용할 테이블은 flag_70c81d99 이다.
이 flag_70c81d99 테이블에서 모든 데이터를 뽑아보자.
pw=' union select * from flag_70c81d99--
FLAG 가 아름답게 등장해주었다. 해시값처럼 생겼다. 이 플래그 값을 pw 에 입력해주면 된다.
'Web Hacking > LOS' 카테고리의 다른 글
Lord of SQL Injection - siren (0) | 2021.10.05 |
---|---|
Lord of SQL Injection - revenant (0) | 2021.10.05 |
Lord of SQL Injection - cyclops (0) | 2021.10.03 |
Lord of SQL Injection - chupacabra (0) | 2021.10.03 |
Lord of SQL Injection - banshee (0) | 2021.10.03 |