ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Find The Lost Flag
    개인공부/드림핵 2024. 12. 21. 22:34

    이번 문제의 경우 admin 계정에 로그인하면 FLAG를 획득 할 수 있는 문제이다.

     

    언제나와 같이 문제파일을 다운로드해 문제를 분석해본다.

     

    [문제 풀이]

    1. 문제 파일 분석

     

    상기 코드는 문제 코드의 일부분이다.

     

    해석하자면 challege.db에 연결 후 admin 또는 guest라는 값이 존재할경우 무시, 존재하지 않을 경우 값을 Insert하는 db 명령이다.

     

    문제 풀이의 핵심은 이 코드가 아닌 다른 부분에 있다.

     

     

    입력받은 username과 password를 db 값과 비교해 참일 시 로그인 성공과 동시에 계정에 걸맞게 저장된 시크릿 값을 가져오는 코드이다.

     

    해당 코드의 경우 SQL Injection 공격에 취약하다.

     

    password 부분에 대한 입력 값을 ' or true--로 넣게 될 시 해당 구문은 아래와 같이 변하게된다.

     

     

    이렇게 될 시 패스워드가 빈 값이더라도 OR TRUE 구문에 의해 항상 참이됨과 동시에 -- 구문을 통해 뒤의 쿼리문을 주석처리하여 우회가 가능하다.

     

    2. Exploit

     

    '개인공부 > 드림핵' 카테고리의 다른 글

    Grand Theft Auto  (0) 2024.12.22
    session  (0) 2024.12.21
    Carve Party  (0) 2024.12.09
    web-misconf-1  (0) 2024.12.08
    command-injection-1  (0) 2024.12.08
Designed by Tistory.