무엇 SQL 주입 공격 / 취약점?

이 FAQ는 대답 k4thryn에 의해 작성되었습니다 :

한 SQL 주입 취약점이 저조한 - 작성된 프로그램을 사용자가 사용하는 경우가 발생할 수있습니다 - 최초의 입력을 검증하지 않고 데이터베이스 쿼리에서 데이터를 제공했습니다. 동적 콘텐츠와 함께 웹페이지 시간이 가장 - 종종 발견된다. 거기에 다른 어플 리케이션을위한 완전한 - 공개 웹사이트에서이 주제에 대한 몇 가지 훌륭한 튜토리얼과 설명이 기사뿐만 아니라, 많은 취약점이 게시물이없습니다.

SQL 주입의 간단한 예를 들어 당신은 사용자 이름과 암호를 제공하는 기본적인 HTML 양식 로그입니다 :


	  method="post"를 <form action="process_login.php"> 
	  <input type="text" name="username"> 
	  <input type="password" name="password"> 
	  </ 양식> 

HTML의 스니펫에서는 감안할 때, 한 사람은 일자리를 "process_login.php"에 그것을 빌드하고 데이터베이스 쿼리를 실행하는 것이 스크립트를위한 가장 쉬운 (최악의) 방법을 추론할 수있다는이 같은 외모 :

	  "id를 선택하세요 
	  에서 로그인 
	  어디 = 사용자 '$ 사용자' 
	  이름과 비밀 번호 = '$ 암호' "; 

이와 같은 상황의 경우에는 변수가 "$ username"을하고 "$ 비밀 번호"를 직접적으로 사용자의 입력에서, 로그인 스크립트를 쉽게 유효한 암호는 SQL 문장의 문법을 가지고 노는 의해 제공되었습니다 말려들 수있다는 믿음입니다. 다음 문자열을 가정해 비밀 번호로 제공했다 :

	  '또는'= ' 

그리고 우리는 사용자 이름으로 "밥"고했다. 일단 변수 쿼리 보정 위는 이런 모양이 될 수있습니다 :

	  "id를 선택하세요 
	  에서 로그인 
	  여기서 username = '밥' 
	  이름과 비밀 번호 = '' 또는 '' = '' "; 

이 쿼리는 행을 반환합니다 때문에 최종 조항 :

	  ...  또는 '' = '' 

항상 true로 평가합니다 (빈 문자열이 항상 빈 문자열로)와 동일합니다.

SQL 주입 공격을 방지

가장 일반적인 방법은 SQL 주입 vunerability을 막기 위해 이런 종류의 단일 - 따옴표와 같은 위험 인물에 대한 사용자의 입력을 확인하는, 그리고 정확히 어떤 사용자는 기대 - 데이터를 제공하기 전에 데이터베이스를 말할 준비가 재무 제표를 사용하여 그것에 전달됩니다.

SQL Server 보안 마스터링 SQL Server 2000 보안 SQL Server 보안 Distilled 오라클은 보안 핸드북 : 오라클 환경에서 소음의 안보 계획을 이행할
는 SQL 보안에 대한 이러한 우수한 도서 구매 Amazon.com에서


상위 5 개 무료 네트워킹 툴

취약점 관리 Dummies 대한

(Qualys)에서 우리 친구들이 Dummies 테크를위한 취약성 관리의 전자 버전 - FAQ를 독자의 무료 사본을 제공하고있습니다.

취약점 관리 Dummies :

  • 취약성 관리를위한 중요한 필요 설명이
  • 자세한 내용은 최고 - 성공적인 취약점 관리 프로그램의 실천 단계에 필수적인
  • 간략 다양한 취약성 관리 솔루션 - 각각의 장점과 단점을 포함한
  • 볼거리 우승 보너스 - QualysGuard 취약성 관리 솔루션
  • 취약점을 제거하기위한 자원을 제공하여 키를 점검표 10 점
스크랩 무엇 SQL 주입 공격 / 취약점?

최신 블로그 게시물


영어 영어 독일어 독일어 스페인어 스페인어 프랑스어 프랑스어 이탈리아어 이탈리아어 포르투갈어 포르투갈어 러시아어 러시아어 네덜란드어 네덜란드어
그리스어 그리스어 힌디어 힌디어 일본어 일본어 한국어 한국어 중국어 중국어 중국어 (간체) 중국어 (간체) 아랍어 아랍어

저작권 2009년 테크 - 자주 묻는 질문. 판권 소유. 개인 정보 보호 정책.