K
KRYFT Problem Bank
보안 쉬움 코딩

SQL Injection 취약점 식별

주어진 코드에서 SQL Injection 취약점을 찾고 수정하세요

15분
50점
#3638

문제 설명

아래 코드에서 SQL Injection 취약점을 찾고, 안전한 코드로 수정하세요.

취약한 코드

def get_user(username):
    query = f"SELECT * FROM users WHERE username = '{username}'"
    cursor.execute(query)
    return cursor.fetchone()

공격 예시

username = "' OR '1'='1"
# 결과: SELECT * FROM users WHERE username = '' OR '1'='1'

요구사항

  • 취약점이 발생하는 이유 설명
  • Parameterized Query를 사용한 수정 코드 작성
  • 추가적인 방어 기법 제안

힌트

실행 버튼을 눌러 코드를 실행하세요.