inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

취약점 분석 방법론(3)

에러가 발생하면 무조건 취약한건가요?

336

진진

작성한 질문수 2

1

문자형 취약점 유/무 확인에서

점검 SQL 구문(1)은 DBMS의 종류를 추론 가능하기에 취약하다는건 이해하겠는데

SELECT*FROM member WHERE id='crehack'a'tive'에서 에러가 발생하면 취약하다는걸 잘 모르겠습니다.

 

사용자 입력값중 'a'에서 싱글쿼터를 sql 구문으로 인식해서 오류가 났으니

사용자 입력값에 대한 검증을 제대로 하지 않은것으로 보고 취약하다라고 판단하는건가요?

 

아니면 '에러 발생 = 취약' 이렇게 생각해야 되는 건가요?

모의해킹 인젝션

답변 2

0

크리핵티브

안녕하세요. 답변이 늦어 죄송합니다.

연결 연산자 삽입을 통해 제대로 적용이 된다는 증적 하나와

연결 연산자가 아닌 임의의 문자를 통해 에러가 발생된다는 증적 하나가 추가되어

취약하다는 확률이 올라간다는 것 입니다.

환경에 따라서 임의의 문자를 삽입하여도 에러 출력이 안되거나 다른 페이지로 리다이렉션 될 수도 있는데 이또한 하나의 증적이 될 수 있습니다.

그리고 뒤에 이어서 조건 구문 완성을 통해 완전한 취약 여부 확인이 가능하구요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

진진님, SQL 인젝션은 사용자의 입력값을 그대로 SQL 문에 사용함으로써 발생하는 보안 취약점입니다. 입력값에 대한 충분한 검증이나 이스케이핑 없이 사용자 입력이 SQL 구문에 포함되었을 경우, 공격자는 악의적인 SQL 구문을 주입하여 데이터베이스를 조작할 수 있습니다.

구체적으로 SELECT * FROM member WHERE id='crehack'a'tive'와 같은 경우, 입력된 값에서 예상치 못한 추가적인 싱글 쿼터(‘)가 발견되어 SQL 구문 오류가 발생합니다. 이런 오류가 발생한다면, 사용자 입력값이 SQL 구문에 올바로 처리되지 않고 그대로 포함되었을 가능성이 높으며 이는 SQL 인젝션 취약점이 존재할 수 있다는 신호로 볼 수 있습니다.

그러니 ‘에러 발생 = 취약’으로 일반화하기보다는, 에러 발생을 SQL 인젝션 취약점이 존재할 수 있는 하나의 징후로 보고, 추가적인 검증과 보안 조치를 취하는 것이 필요합니다. 예를 들면 입력값에 대한 검증과 함께 파라미터화된 쿼리, 준비된 명령문, 혹은 ORM을 통한 적절한 입력 처리 방법을 사용함으로써 SQL 인젝션을 방어할 수 있습니다.

MsSql php 연결 문의

0

34

1

APMSETUP 대신에 bitnami를 사용해도 되나요?

0

36

1

질문드립니다

0

110

3

PHP 기갑 게시판 설치에서 오라클 게시판 오류

0

104

2

업데이트 부탁드립니다.

0

196

1

강의 환경설정 MSSQL 문제

0

174

1

In-line Query 와 Terminating Query

0

174

2

Prepared Statement 대응방안 궁금사항 질문있습니다!

0

141

2

게시판에서 oracle만 오류가 나는 이유를 모르겠어요

0

172

2

질문

0

179

2

쿼리 결과 오류

1

348

2

오라클 php 연동이 도저히 안됩니다.

0

540

1

Json으로 데이터를 주고 받을 때 인젝션

1

617

1

case when 구문의 활용(2) 부분 질문 있습니다.

1

614

2

주석처리 관련 질문드립니다.

1

305

2

php & mssql 연동이 안됩니다.

2

534

2

xampp 최신버전 oracle 연동방법, 겪은 오류 정리

2

674

2

가상머신환경

1

307

2

현재 SQL 인젝션 강의를 듣고 있어요

0

230

1

? 플레이스 홀더 문자

0

354

1

mysql case when 구문이용

1

396

1

실습환경 오류 발생시 봐주세요!

0

333

1

php 버전 호환 문제

1

292

1

SQL이나 XSS 실습 서버

1

374

2