SQL 인젝션은 사이버 공격 SQL 쿼리에서 잘못된 입력 유효성 검사를 이용합니다. 애플리케이션이 데이터베이스에 대한 SQL 쿼리에서 신뢰할 수 없는 사용자 입력을 사용하는 경우 의도적으로 잘못된 형식의 사용자 입력이 쿼리를 수정할 수 있습니다. SQL 삽입 공격은 데이터베이스에서 데이터를 액세스, 수정 또는 삭제하는 데 사용할 수 있습니다.
사용자 입력을 기반으로 SQL 쿼리를 수행하는 애플리케이션은 SQL 삽입 공격에 취약할 수 있습니다. 예를 들어, 웹 애플리케이션은 인증 프로세스를 구현하기 위해 SQL 질의를 사용할 수 있다. 사용자는 애플리케이션이 해당 사용자 계정의 암호 해시를 조회하는 데 사용하는 사용자 이름을 제공합니다. 사용자가 제공한 암호의 해시가 이 암호 해시와 일치하면 사용자가 성공적으로 인증되고 계정에 대한 액세스 권한을 얻습니다.
웹 애플리케이션이 SQL 쿼리에 포함하기 전에 사용자 이름에 대한 유효성 검사를 수행하지 않으면 프로그램에서 의도적으로 잘못된 형식의 사용자 이름을 잘못 해석할 수 있습니다. 예를 들어 SQL 쿼리는 일반적으로 작은따옴표(') 또는 큰따옴표(")를 사용하여 명령의 데이터를 나타냅니다. 예를 들어, 사용자 이름 사용자를 기반으로 데이터베이스에서 고객의 레코드를 조회하는 명령은 다음과 같을 수 있습니다. SELECT * FROM customers WHERE username="user".
자신의 명령에 대해 SQL 삽입 공격을 수행하는 공격자는 입력에 큰따옴표를 포함하여 일부 데이터를 코드로 해석할 수 있습니다. 예를 들어 사용자 이름을 고려하십시오 사용자" OR "1"="1.
SQL 쿼리에 삽입하면 쿼리는 다음과 같이 됩니다. SELECT * FROM customers WHERE username="user" OR "1"="1". 사용자 이름이 사용자가 제공한 값과 일치하는 레코드를 찾는 대신 이 쿼리는 두 조건 중 하나와 일치하는 레코드를 반환합니다. 첫 번째는 의도된 테스트입니다 사용자 이름 = "사용자", 사용자의 레코드를 반환합니다.
두 번째 조건은 테스트입니다 "1"="1". 이것은 항상 true이므로 데이터베이스의 모든 레코드를 반환합니다. 이를 통해 공격자는 다른 사용자에 대한 중요한 정보를 추출하거나 인증을 우회하거나 다른 사용자로 인증할 수 있습니다.
SQLi 공격은 다양한 목적을 달성하는 데 사용할 수 있으며 다양한 방식으로 수행할 수 있습니다. SQLi의 세 가지 주요 유형은 다음과 같습니다.
SQLi 공격은 SQL 명령에 신뢰할 수 없는 데이터를 사용할 때 입력 유효성 검사가 잘못되었다는 점을 이용합니다. 많은 SQLi 공격은 사용자 입력 내에서 작은따옴표 또는 큰따옴표와 같은 예기치 않은 문자를 사용하는 것과 관련이 있습니다.
SQL 쿼리에 사용자 제공 데이터를 포함하기 전에 입력 유효성 검사를 수행하면 SQLi 공격의 위협을 줄이는 데 도움이 될 수 있습니다. 예를 들어 애플리케이션은 영숫자 사용자 이름만 허용하는 등 사용자 입력을 특정 문자 집합으로 제한하거나 특정 문자가 사용자 입력에 포함되지 않도록 차단할 수 있습니다. 그러나 입력 유효성 검사는 중요하지만 SQL 삽입 공격으로부터 보호하기에는 충분하지 않습니다. 공격자는 차단을 피하기 위해 예기치 않은 문자 조합을 사용하여 허용 목록 또는 차단 목록을 우회할 수 있습니다.
이러한 이유로 기업은 웹 애플리케이션 방화벽 (WAF) 또는 이상적으로는 웹 애플리케이션 및 API 보호 (WAAP)는 SQL 쿼리를 수행하는 웹 애플리케이션 및 API 앞에 있습니다. 이러한 솔루션은 웹 애플리케이션 및 API에 대한 SQLi 및 기타 공격을 악용하려는 악의적인 요청을 식별하고 차단하는 데 도움이 될 수 있습니다.
SQLi 공격은 조직에 위협이 되는 많은 공격 중 하나입니다. 애플리케이션 보안 (AppSec)을 클릭합니다. 조직에는 온프레미스와 클라우드 모두에서 인터넷 연결 애플리케이션과 데이터베이스를 보호할 수 있는 보안 솔루션이 필요합니다.
체크 포인트 CloudGuard AppSec 애플리케이션의 작동 방식을 학습하고 불법 및 악의적인 요청이 취약한 애플리케이션에 도달하는 것을 방지하는 자동화된 WAAP 기능을 제공합니다. CloudGuard AppSec 및 SQLi 및 기타 공격으로부터 보호하는 기능에 대해 자세히 알아 보려면 다음을 확인하십시오 전자책. 당신도 환영합니다 무료 데모 신청하기 CloudGuard AppSec의 기능을 직접 확인하십시오.