100 likes | 363 Vues
SQL Injection. Member 최병희 , 김상우 , 조용준 , 유창열. 목 차. 1. 주제선정 이유 2. SQL Injection 이란 ? 3. 공격 기법 4. 대응 방안 5. 수행 내용 & 자체 평가 6. Q & A. 주제 선정 이유. OWASP TOP 10 - 2010 가장 심각한 웹 어플리케이션보안 위험 10 가지 ‘가장 일반적인 취약점 10 가지’가 아닌 , ‘ 최상위 위험 10 가지’ 를 의미한다
E N D
SQL Injection Member 최병희, 김상우, 조용준, 유창열
목차 • 1. 주제선정 이유 • 2. SQL Injection 이란? • 3. 공격 기법 • 4. 대응 방안 • 5. 수행 내용 & 자체 평가 • 6. Q & A
주제 선정 이유 OWASP TOP 10 - 2010 가장 심각한 웹 어플리케이션보안 위험 10가지 ‘가장 일반적인 취약점 10가지’가 아닌, ‘최상위 위험 10가지’를의미한다 A1-인젝션: SQL, OS, LDAP 인젝션
SQL Injection 이란? • 정 의 • DB로 전달되는 쿼리를 변경시켜 비정상적인 DB접근을 시도함으로써 허가 받지 않은 데이터에 접속 하는 기술
공 격 기 법 • 공격 환경 • APM 6 • 일반 적으로 취약한 로그인 쿼리 $id =_POST[“id”]; $passwd =_POST[“passwd”]; $sql = "SELECT * FROM member WHERE id = ‘$id’ AND passwd = ‘$passwd’"; TEST웹 gogo~씽 Click~! 블로그gogo~씽 Click~!
공 격 기 법 Select userid,userpw from account where username=‘’or’1’=‘1’--’ and passwd =‘1235123’ Username=‘(false)’or’=‘1’(true) ‘ 와 같이 문자구분 기호를 넣었을 때 오류메시지 표시 ID 알고 ,PW 알지 못할 때 인젝션 통한 로그인 성공 ID 알고, PW 주석처리를 통한 로그인 성공 Select userid,userpw from account where username=‘’or’1’=‘1’ and passwd =‘’or’1’=‘1’ Username=‘(false)’or’1’=‘1’(true) and passwd=‘(false)’or’1’=‘1’(true) ID 와 PW 를모를시에 로그인 기법 ID 를 모르고 PW 주석처리를 통한 로그인 기법
대 응방 안 • 응용프로그램의 에러정보를 노출하지 않는다. • 사용자가 입력하는 입력 값을 검증한다. • 데이터의 길이에 제한을 두는 방법. • 동적인 SQL을 되도록 사용하지 않는다. ini_set('display_errors', 'off'); ->php.ini 에서 설정 값 @mysql_함수이름(); Bool ctype_alnum(); Bool ctype_alpha(); Bool ctype_digit();
수행 내용 & 자체 평가 • 참여인원 4명 • 수행 시간 16시간 • 자체 평가 • 결과의 우수성 및 창의성 (우수) • 결과에 대한 활용가능성 (우수) • 수행 노력에 성실도 (아주 우수) • 공개발표 된 연구 성과 (보통) • 목표 달성도 (표)
Q & A 질문있습니까?