이러한 테스트는 블라인드 SQL 주입 및 자동 공격에 적합합니다. Imperva 클라우드 기반 WAF는 서명 인식, IP 평판 및 기타 보안 방법을 사용하여 최소한의 거짓 긍정으로 SQL 주입을 식별하고 차단합니다. WAF의 기능은 기본 보안 설정을 세분화하고 추가 사례별 보안 정책을 만들 수 있는 사용자 지정 보안 규칙 엔진인 IncapRules에 의해 강화됩니다. 예를 들어 특정 제품에 대한 정보를 가져오는 위에서 언급한 입력은 http://www.estore.com/items/items.asp?itemid=999 또는 1=1로 읽도록 변경할 수 있습니다. 블라인드 SQL 삽입은 웹 응용 프로그램이 SQL 주입에 취약하지만 주입 결과가 공격자에게 표시되지 않는 경우에 사용됩니다. 취약점이 있는 페이지는 데이터를 표시하는 페이지가 아닐 수도 있지만 해당 페이지에 대해 호출된 합법적인 SQL 문에 삽입된 논리적 문의 결과에 따라 다르게 표시됩니다. 이러한 유형의 공격은 일반적으로 복구된 각 비트에 대해 새 문을 작성해야 하기 때문에 시간이 많이 많은 것으로 간주되었으며, 그 구조에 따라 공격은 많은 실패한 요청으로 구성될 수 있습니다. 최근의 발전으로 각 요청은 실패한 요청 없이 여러 비트를 복구할 수 있으므로 보다 일관되고 효율적인 추출이 가능합니다. [14] 취약점의 위치와 대상 정보가 설정되면 이러한 공격을 자동화할 수 있는 몇 가지 도구가 있습니다. [15] 이 예에서 테스터는 UTL_INADDR 함수의 결과와 값 10을 연결합니다.

GET_HOST_NAME. 이 Oracle 함수는 전달된 매개 변수의 호스트 이름(다른 쿼리인 사용자 이름)을 반환하려고 시도합니다. 데이터베이스가 사용자 데이터베이스 이름으로 호스트 이름을 찾으면 실패하고 다음과 같은 오류 메시지가 반환됩니다. 웹 응용 프로그램을 대상으로 하는 기본 SQL 주입 공격으로 시작하여 OS 루트로 권한 에스컬레이션을 시작합니다. 추론 방법을 사용하면 이러한 장애물을 방지하여 원하는 일부 필드의 값을 복구하는 데 성공할 수 있습니다. 이 메서드는 서버에 대해 일련의 부울 쿼리를 수행하고 답변을 관찰하고 마지막으로 이러한 답변의 의미를 추론하는 것으로 구성됩니다. 항상 www.example.com 도메인을 고려하고 SQL 주입에 취약한 id라는 매개 변수가 포함되어 있다고 가정합니다. 즉, 다음 요청을 수행: 간단 하지만 오류가 발생 하기 쉬운 주사를 방지 하는 방법은 SQL에서 특별 한 의미를 가진 문자를 이스케이프 하는 것입니다. SQL DBMS에 대한 설명서는 특별한 의미가 있는 문자를 설명하므로 번역이 필요한 문자의 포괄적인 블랙리스트를 만들 수 있습니다.

예를 들어 매개 변수에서 단일 따옴표(`)가 발생할 때마다 유효한 SQL 문자열 리터럴을 형성하려면 두 개의 작은따옴표(«)로 바꿔야 합니다. 예를 들어 PHP에서는 mysqli_real_escape_string(함수를 사용하여 매개 변수를 이스케이프하는 것이 보통입니다.). SQL 쿼리를 보내기 전에 : 일반 블라인드, 당신은 페이지에서 응답을 볼 수 없습니다,하지만 당신은 여전히 응답 또는 HTTP 상태 코드 완전히 블라인드에서 쿼리의 결과를 확인할 수 있습니다, 당신은 어떤 종류의 출력의 차이를 볼 수 없습니다.