SQL 주입 취약점이란 무엇입니까?
답변: B/S 모드 애플리케이션 개발이 발전함에 따라 점점 더 많은 프로그래머가 이 모드를 사용하여 애플리케이션을 작성하고 있습니다. 그러나 프로그래머의 수준과 경험이 고르지 못하여 코드 작성 시 사용자 입력 데이터의 적법성을 판단하지 못하는 프로그래머가 상당수 있어 애플리케이션의 보안 위험이 발생합니다. 사용자는 데이터베이스 쿼리 코드를 제출하고 프로그램에서 반환된 결과를 기반으로 알고 싶은 일부 데이터를 얻을 수 있습니다. 이것이 소위 SQL 주입, 즉 SQL 주입입니다. SQL 인젝션은 일반 WWW 포트를 통해 접속하는데, 표면적으로는 일반 웹 페이지 접속과 별반 차이가 없어 현재 시중에 나와 있는 방화벽에서는 관리자가 확인하는 습관이 없으면 SQL 인젝션에 대한 경고를 내지 않는다. IIS 로그를 보면 침입당할 수 있습니다. 오랫동안 눈치채지 못할 것입니다. 그러나 SQL 주입 방법은 매우 유연하며 주입 중에 예상치 못한 상황이 많이 발생합니다. 특정 상황을 분석하고 영리한 SQL 문을 구성하여 원하는 데이터를 성공적으로 얻을 수 있습니까? 통계에 따르면 웹사이트의 70% 이상이 ASP+Access 또는 SQLServer를 사용하고 있으며, PHP+MySQ는 20%, 기타 웹사이트는 10% 미만을 사용하고 있습니다. 이 문서에서는 SQL-SERVER+ASP를 예로 사용하여 SQL 주입의 원리, 방법 및 프로세스를 설명합니다. (PHP 주입에 관한 기사는 NB Alliance의 또 다른 친구인 zwell이 작성했습니다.) SQL 주입 공격의 일반적인 아이디어는 다음과 같습니다. l SQL 주입 위치를 검색합니다. l 백그라운드 데이터베이스 유형을 결정합니다. XP_CMDSHELL; l 웹 가상 디렉터리 검색 l ASP 트로이목마 업로드 l 관리자 권한 획득;