인프런 커뮤니티 질문&답변

제노비아님의 프로필 이미지
제노비아

작성한 질문수

모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1

상세 대응 방안(2)

? 플레이스 홀더 문자

작성

·

240

·

수정됨

0

매게변수를 지정한 구문은 인젝션 할 방법이 없는건가요?

 요즘은 대부분 매게변수를 받아서 쿼리문을 만드는데

이런 식으로 말이죠

공격이 불가능하다면 모든 입력받는 매게변수를 받으면 sql인젝션 공격 방법이 무의미한 것 아닌가요?

답변 1

0

크리핵티브님의 프로필 이미지
크리핵티브
지식공유자

안녕하세요.

Prepared Statement는 SQL 인젝션의 대응방법입니다. 이 방법은 아직 우회 기법은 없습니다.(물론 취약하게 코딩할 경우 제외) 만약 이 방법이 우회가 된다면 전 세계적으로 큰 이슈가 되겠죠.ㅎ

말씀하신대로, 해당 웹 서비스에서 모든 입력 값에 대해 Prepared Statement 처리를 하면 안전합니다.

그러나 Prepared Statement가 적용될 수 없는 경우도 있습니다.(이부분은 강의에서 설명을 드렸습니다.)

모든 웹 서비스의 모든 입력 값에서 Prepared Statement로 처리가 되면 모든 웹 서비스는 SQL 인젝션에 안전하기 때문에 SQL 인젝션이란 기술은 의미가 없게 됩니다.

그러나 그렇게 될 수는 없습니다. SQL 인젝션은 웹 서비스의 범주에서만 가능한 공격이 아니며 데이터베이스와 연동 되어 있는 모든 어플리케이션에서도 가능합니다. 또한 웹 서비스를 개발하는 개발자들이 경우에 따라선 Prepared Statement를 사용하지 않는 경우들도 있습니다.

제노비아님의 프로필 이미지
제노비아

작성한 질문수

질문하기