목록sql 취약점 (2)
겉바속촉
SQL Injection 웹 서버와 db 서버가 연동되는 웹 서비스 중 사용자의 입력을 받는 화면이 존재 입력받는 문자열에 별도의 처리 없이 db 조회를 위한 sql구문이 사용될 경우 정상적인 sql 구문 인자 값의 변조를 통해 데이터 베이스 접근 및 임의의 sql 쿼리 문을 실행 할 수 있음 1. 위험성 가. 사용자 인증을 우회, 정상적인 사용자의 인증권한 획득 가능. 보통 개발할 때 관리자 즉 admin을 많이 넣어주기 때문에. 나. 데이터베이스 획득 의도적으로 DB 에러메시지 유발, DB 구조파악 가능 다. 관리자 권한 명령 실행 SQL Query가 내장 프로시저를 이용항 시스템 명령 실행이 가능하다면 --> XPcmd 관리자 권한 명령을 실행할 수 있는 권한 획득 가능 --> 실질적인 시스템 장악..
SQL Injection 개념 외부 입력값을 검증하지 않고 SQL문을 생성 및 실행에 사용하는 경우에 발생 쿼리의 원래 의미와 형태가 변형되어 실행 예상 피해 권한 밖 데이터에 대한 접근이 가능, 인증 우회, DB서버 또는 서버군의 제어권을 탈취하는 등의 피해가 발생 방어 기법 입력값 검증 --> SQL문을 조작할 수 있는 문자열 포함 여부를 확인 정적 쿼리를 사용 --> 항상 일정한 형태의 쿼리가 실행되는 것을 보장 DB 사용자에게 최소 권한을 부여 --> 애플리케이션에서 사용하는 DB 사용자의 권한을 필요한 만큼만 부여 에러에 대한 안전한 처리 --> 오류 메시지를 통해서 시스템 내부 정보가 노출되지 않도록 오류 메시지를 처리 입력되는 값의 형태(유형)에 따라 다양한 SQL Injection 유형 s..