정보보안/모의해킹10 모의해킹 강의(SQL Injection Part1) 11 대응방안~에필로그 모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1강의주소 : https://www.inflearn.com/course/sql-injection-secure-coding-1/dashboard 원인입력값 검증 없이 구문을 조합할 경우, 변조된 sql 질의가 발생할 수 있다 대응방안 1) Prepared Statement 사용 2) 사용자 입력 값 타입에 따른 입력 값 검증 로직 구현 3) 길이제한 WAF라는 인라인 방식의 보안 솔루션을 많이 사용.하지만 보안 솔루션 외의 다른 부분이 취약한 경우가 많다 Prepared Statement Prepared Statement 구분분석 및 정규화 -> 컴파일 -> 쿼리 최적화 -> 캐시 -> 실행 기존: conn.c.. 2024. 11. 7. 모의해킹 강의(SQL Injection Part1) 9 UNION-BASED 모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1강의주소 : https://www.inflearn.com/course/sql-injection-secure-coding-1/dashboard UNION-BASED 공격이란 Union 기반 sql 구문을 통해 공격자가 의도한 데이터를 반환받는 것 제한 - union은 제일 뒤에 사용되어야 하는 구문 - 멀티라인 주석처리가 불가능하므로 sql문이 개행되어 있으면 불가능 - 웹 어플리케이션 환경이 맞아야 함 공격 적합성 검토 - 공격 가능한 웹 어플리케이션 확인 (사용자 입력값을 통해 DB값이 출력되는 영역) 공격 불가능한 웹 포인트 : 아이디 중복 조회(단순히 사용가능유무에 대한 출력일 때), select 기능이 .. 2024. 10. 26. 모의해킹 강의(SQL Injection Part1) 8 ERROR-BASED 모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1강의주소 : https://www.inflearn.com/course/sql-injection-secure-coding-1/dashboard error-based 공격이란 DBMS 에러 내 공격자가 의도한 데이터를 반환하여 정보를 얻는 방법 해당 정보는 추후 공격에 사용됨 DBMS별 차이점 MSSQL (형변환 특이점) 1=@@version 1=0/@@version 1=convert(int, @@version) MYSQL (특정 함수들, 그룹키 중복 활용) extractvalue(0x0a, concat(0x0a,@@version)) updatexml(0x0a, concat(0x0a,@@version),0x0a) .. 2024. 10. 24. 모의해킹 강의(SQL Injection Part1) 7 - 메타데이터 (주기적으로 복습) 모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1강의주소 : https://www.inflearn.com/course/sql-injection-secure-coding-1/dashboard 메타 데이터 데이터에 대한 데이터. 자료의 속성 등을 설명하는 데이터. ex) 테이블명, 인코딩 설정, 권한 정보, 컬럼 데이터 타입, 길이 등등. 메타 데이터가 필요한 이유 메타 데이터를 모르면 injection이 불가능하기 때문 간단한 select 절만 살펴봐도, 컬럼명과 테이블명이 있어야 조회할 수 있다 메타 데이터 목록화를 진행할 때 데이터 사전(DD)을 조회하게 된다 공격 관점에서 메타 데이터 접근법 순차적 : 데이터베이스 목록화 > 테이블 목록화 > 컬럼 목록화.. 2024. 10. 22. 이전 1 2 3 다음