SQL 주입이란 무엇입니까?

SQL (Structured Query Language) 삽입은 거의 항상 데이터베이스 기반 웹 사이트에 대해 시도되는 공격 유형입니다. 사이트를 구동하는 데이터베이스의 테이블에 저장된 데이터를 파기, 변경 또는 공개함으로써 데이터 관리를 방해하기 위해 사이트의 SQL 쿼리에 악성 코드를 삽입하려고합니다. SQL은 데이터베이스에 저장된 데이터를 작성, 업데이트 및 검색하는 데 사용되는 표준 프로그래밍 언어입니다.

SQL 주입 공격의 위험은 많으며 성공적으로 수행 될 때 종종 매우 치명적입니다. 온라인 뱅킹 및 이메일과 같은 계정의 신용 카드 번호, 개인의 의료 기록, 사용자 이름 및 비밀번호와 같은 민감한 정보뿐만 아니라 다양한 유형의 식별 번호가 사이버 범죄자에게 노출 될 수 있습니다. 데이터 도난이 SQL 인젝션을 사용하려는 모든 사람의 주요 목표 일 수도 있지만, 크로스 사이트 스크립팅과 같은이 유형 또는 다른 유형의 코드 인젝션 기술을 사용하려는 동기는 아닙니다. 마음에 들지 않는 정보를 표시하는 웹 사이트 방문자는 SQL 주입 공격을 시도하여 사이트를 비활성화하거나 데이터를 훔치거나 데이터를 변경하여 사이트 뒤에있는 사람들의 사명을 파괴 할 수 있습니다.

때로는 사이트 소유자가 자신의 계정을 차단했거나 사이트의 인기를 부추 기거나 자신이 관심있는 사람의 온라인 비즈니스를 파괴하려는 불만이있는 방문자가 웹 사이트에 대해 SQL 주입 공격을 시도하는 경우가 있습니다. 적이다. SQL 주입 공격을 시작하려면 SQL에 대한 지식이 분명히 필요하지만, 다른 프로그래밍 언어와 비교할 때 배우기가 매우 어려운 언어로 일반적으로 간주되지 않으며, 사용 방법에 대한 기본적이지만 확실한 이해만으로도 많은 것을 달성 할 수 있습니다. 그것. 이것은 인터넷을 서핑하는 사람들이 웹 사이트에 대한 SQL 인젝션을 시도하는 데 필요한 기술을 가지고 있다는 것을 의미합니다.

웹 개발자, 특히 백엔드 웹 개발을 전문으로하는 개발자는 자신이 프로그래밍하는 사이트가 SQL 삽입에 대해 안전하도록해야합니다. 이러한 중요한 보안을 달성하는 방법은 거의 항상 여러 가지가 있으며 대부분의 방법은 단순하지만 매우 효과적인 솔루션으로 간주됩니다. 예를 들어, 개발자는 하이퍼 텍스트 전 처리기 (PHP) 언어로 스크립팅 할 때 mysql_real_escape_string () 함수 또는 준비된 명령문을 사용할 수 있습니다. 보안을 설정할 때도 사이트 전체의 성능을 무시할 수 없으므로 공격으로부터 보호하기 위해 선택한 방법을 신중하게 고려해야합니다.

다른 언어

이 문서가 도움이 되었나요? 피드백 감사드립니다 피드백 감사드립니다

어떻게 도와 드릴까요? 어떻게 도와 드릴까요?