[Normaltic's CTF] Secret Login

2024. 5. 29. 13:19정보보안 및 해킹/CTF

관리자 계정을 모른다고 합니다.

doldol이 관리자 계정이면 얼마나 좋을까라는 이상한 생각을 하며

시작합니다.

우선 doldol로 로그인해봅니다.

다른 Login Bypass와는 다를 바가 없습니다.

그럼 Union공격을 하기 위해 바로 컬럼 갯수를 알아보러 가봅니다.

6줄짜리 인 것 같습니다.

7줄에서부터 결과가 안나옵니다.

6줄짜리를 전부 1로 해놓고 로그인 해봅니다.

1로 로그인이 되었네요.

그럼 저 중에 하나는 아이디라는 것이고,

아이디 중에 하나는 노출이 된다는거네요.

즉, 블라인드 상태가 아니라는 겁니다.

이 부분에서 저는 블라인드 상태인 줄 알았던 마음을 고쳐먹고 데이터베이스에 접근하기 시작합니다.

하나씩 문자열을 넣으면서 어디에 넣었을 때 화면이 도출이 되는지 찾아봅니다.

3번째에 넣었을 때 도출이 되네요.

그럼 3번째 인자에 저희가 보고싶은것을 넣으면 되겠네요

데이터베이스 이름부터 시작합니다.

데이터베이스 이름은 segFault_sqli 라고 합니다.

그럼 바로 테이블 이름을 알아보러 갈까요?

혹시나.. 테이블이 하나가 아닐 수 있으니,

GROUP_CONCAT()을 사용해서 갖고있는 모든 인자를 도출할 수 있도록 하겠습니다.

segFault_sqli의 데이터베이스 안에 있는 모든 테이블 이름을 도출할 수 있도록 하였습니다.

역시.. 하나가 아니었네요.

이 중에 눈에 띄는게 하나가 있네요.

flag_table.

login1과 login2도 약간 시선을 뺏습니다만, 일단 플래그를 얻은 뒤에 천천히 살펴봐도 괜찮을 것 같습니다.

flag_table안에 있는 모든 컬럼 이름을 도출하도록 합니다.

flag라는 컬럼과 stage라는 컬럼이 나왔습니다.

거의 접근한 것 같습니다.

이제 flag컬럼의 값을 뽑아내면 될 것 같습니다.

이것도 하나가 아닐 수 있으니 전부 뽑아내도록 했더니..

저런.. Login Bypass가 같은 데이터베이스를 사용하고 있었던 모양입니다.

모든 플래그가 도출되어 당황했습니다.

그 중에 맞아보이는 것 하나를 골라서 넣으니 정답처리되면서 통과되었습니다.

'정보보안 및 해킹 > CTF' 카테고리의 다른 글

[Normaltic's CTF] SQL Injection 2  (0) 2024.05.29
[Normaltic's CTF] SQL Injection 1  (0) 2024.05.29
[Normaltic's CTF] Login Bypass5  (0) 2024.05.29
[Normaltic's CTF] Login Bypass4  (0) 2024.05.29
[Normaltic's CTF] Login Bypass3  (0) 2024.05.29