2013-05-10 2 views
-1

저는 앱의 보안을 강화하기 위해 노력하고 있으며, 제가 계획하고있는 첫 번째 일은 SSL을 통해 전체 앱을 제공하는 것입니다. 나는 앱을 확보하기 위해 취하는 유일한 조치 인 경우 이것이 얼마나 안전한지 궁금합니다. 예를 들어SSL만으로는 SQL 주입을 방지합니까?

, 이제 나는 다음과 같은 프론트 엔드 코드가 있다고 가정 해 봅시다 : 내 백엔드 스크립트에서 다음

<input id="password" value="my_password_value" /> 
<script> 
    $(document).ready(function(){ 
     $('#password').blur(function(){ 
      location.href = 'my_backend_script.php?password=' + $('#password').val(); 
     }); 
    }); 
</script> 

과 내가 가진 :

$user_ID = 1; 
$password = $_GET['password']; 
$USER_edit = mysql_query("UPDATE USERS SET password='$password' WHERE id='$user_ID'"); 

위의 예는 SSL에서 실행중인 경우 SQL 인젝션 공격으로부터 안전할까요?

참고 : 나는 준비가 문을 주입 공격을 방지하기위한 표준이며, 그 최선의 방법이 구현 될 수 실현,하지만 난 독립형 솔루션으로 얼마나 안전한 SSL에 관해서는 그냥 궁금 해요.

신속한 답변 : SQL 주입 공격을 방지하기 위해 아니, SSL이하는 아무것도. 아래의 답변을 확인하십시오.

답변

4

아니요. SQL 삽입은 연결의 보안과는 아무 관련이 없으며 사용자 입력을 처리하는 방법의 보안과 관련이 있습니다. 준비된 명령.을 사용하면 잘못 입력 된 데이터가 의도적으로 SQL 조회를 손상시키는 것을 방지 할 수 있습니다.

모든 사용자가 로그인해야하는 신뢰할 수있는 사용자 인 경우 SSL을 사용하면 응용 프로그램에 들어오는 사용자가 귀하의 응용 프로그램을 해킹하려고 시도하지 않으므로 SQL 주입에 대해 일정 수준의 보안을 제공 할 수 있습니다. 체계.

하지만 SSL은 데이터베이스 액세스 코드를 올바르게 작성하는 대신 사용할 수 없습니다.

+2

오히려 "아니오, 전혀 아닙니다"입니다. :) – Gumbo

+0

감사합니다. @JeffOlson, 정확히 내가 필요한 답변입니다. – AJB

+0

답을 수락 해주십시오. –

4

SSL은 클라이언트와 서버 간의 전송 채널 만 보안합니다. 그러나 클라이언트는 여전히 보안 채널을 통해 악성 데이터를 보낼 수 있습니다.

2

SSL은 SQL 주입 공격으로부터 보호하지 못합니다. Prepared statements, views 등은 SQL injection에 대한 솔루션입니다.

2

내가 이것을 읽었을 때 내 마음에 떠오르는 질문은 다음과 같습니다. 주사는 어디에서 발생합니까?

가짜 SQL을 주입하는 사람이거나 로그인 한 사용자입니까?
SSL을 사용하면 MITM이 불량 데이터 (SQL 포함)를 내 패킷에 몰래 넣을 수 없게됩니다.

그래서 많은 사람들이 SQL 주입이 SSL과 완전히 관련이 없다고 말하는 이유는 무엇입니까?
저의 겸허 한 견해로는 SSL을 사용하면 많은 공격을 해결할 수 있습니다. 이 발생할 것으로 코드 이탈의 양에 때문에, 말, 준비된 문

:

예를 들어,이 SQL 주입에 대한 실제 솔루션 중 하나를 적용 가능하지 않은 기존 응용 프로그램을 고려하십시오.

앱 보안을 쉽게 달성하려면 어떻게해야합니까?
@JeffOlson이 언급했듯이, 사용자가 로그인해야하고 일단 로그인하면 신뢰할 수있는 SSL이 충분한 솔루션입니다 (SQL 인젝션 및 기타 다른 공격의 경우).

이 보인다 비록

은 이미 SSL 나던 주소 SQL 주입 모든 응용 프로그램에 대한 완전 동의합니다.

+0

우수 포인트 @brainOverflow. 이제는 주사 공격이 어떻게 발생하는지 더 잘 이해하게되었으므로 두 사람 사이의 관계가 많은 사람들이 믿는 것보다 더 가까워지기 시작했습니다. 나는 여전히 SSL이 SQL 공격을 막을 수있는 최선의 방법은 아니라고 생각하지만, SSL과 준비된 명령문을 함께 사용하여 내 앱을 안전하게 보호해야한다는 것을 알기 시작했습니다. – AJB

관련 문제