이번 주차 과제는 계정 정보를 모른 채 데이터 출력 시 doldol 데이터 한 개만 출력하는 과제이다.
우선 알고 있는 비밀번호를 조회해 보면
해당 결과 값이 나온다. id 값은 고정된 채 비밀번호 입력 시 조회되는 로직이다.
여기서 SQL 인젝션이 가능한지 알아보자
결과가 출력되는 것으로 보아 SQL 인젝션이 가능하다는 것을 볼 수 있다.
그다음 식별 / 인증 로직임을 알아봐야 한다.
해당 결과로 보아 식별 / 인증 동시 로직임을 알 수 있다.
이제 doldol 데이터 한 줄 만 출력하는 로직을 구현하면 된다.
위 데이터로 봤을 때 'doldol' 계정은 첫 번째에 있다는 것을 알 수 있다.
이때 사용할 수 있는 구문으로는 LIMIT절이 있다.
LIMIT
SELECT column1, column2
FROM table_name
LIMIT n;
- 쿼리 결과에서 반환할 행의 수를 제한하는 데 사용된다.
- 특정 수의 행만 가져오고 싶을 때 사용된다.
이를 통해 작성할 로직을 구현해 보면
1234' or '1' = '1' limit 1 #
이렇게 작성할 수 있고 해당 로직을 출력해 보면
'doldol' 계정 하나만 조회된다는 것을 알 수 있다.
위에처럼 작성할 수 도 있지만 첫 번째 행의 한 줄 만 출력해야 하기 때문에
1234' or '1' = '1' limit 0,1 #
정확히 위에처럼 작성해야 한다.
728x90
반응형
'모의해킹 > 모의해킹 스터디' 카테고리의 다른 글
모의해킹 스터디 CTF 문제 - SQL Injection 2 (0) | 2024.11.27 |
---|---|
모의해킹 스터디 CTF 문제 - SQL Injection 1 (0) | 2024.11.26 |
모의해킹 스터디 CTF 문제 - Secret Login (0) | 2024.11.25 |
모의해킹 스터디 CTF 문제 - Login Bypass5 (0) | 2024.11.25 |
모의해킹 스터디 CTF 문제 - Login Bypass 4 (0) | 2024.11.24 |