[Education]/[AWS] Cloud Hacking

[AWS] Chapter4. 서버&서버리스 진단 - 2

starterr 2024. 5. 6. 23:48
반응형

3. SQL Injection

01. 개요

SQL Injection
- 임의의 SQL 구문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 유도
- OWASP TOP10 중 첫 번째 공격, 위험도가 높음

SQL Injection 공격 목적 및 영향
- 인증 우회
- DB 데이터 조작 및 유출
- 시스템 명령 실행

SQL Injecion 종류
- Error Based SQL Injection
- Blind SQL Injection
- Union SQL Injection

 

02. AWS 데이터베이스 서비스

AWS에서 제공하는 데이터베이스 서비스 종류

RDS(Relational Database Service)
- 관계형 데이터베이스를 설정, 운영 확장
- 6개의 데이터베이스 엔진 중에서 선택 가능
- 기존 데이터베이스를 RDS로 마이그레이션, 복제 가능

NoSQL(DynamoDB)
- 특정 데이터 모델에 대해 목적에 맞추어 구축되는 데이터베이스
- AWS는 키(key), 값(value) 형태로 구성된 DynamoDB 제공

 

 

반응형

 

03. RDS SQL Injection 개요

RDS SQL Injection
- 상용 SQL 엔진 - 기존의 SQL 취약성을 그대로 가져옴
- 인스턴스, 서버리스 선택 가능

공격 예시) 쿼리 조건(where) 암호 검사 무력화

정상 로그인 ID : myuser1 password : mypassword1
더보기

SELECT * FROM users WHERE username = 'myuser1' AND password = 'mypassword1'

SQL Injection ID : myuser1'-- password : 1234
더보기

SELECT * FROM users WHERE username = 'myuser1'-- ' AND password = '1234'

 

04. RDS SQL Injecton 실습

Blind SQL Injection
- 쿼리 구문을 토해 참과 거짓 구분이 가능함을 확인
- substring()등 문자열 함수 이용 데이터 추출
- 실습사이트는 현재 보안 패치 적용되어 있음

RDS SQL Injection
- 기존 SQL 엔진을 사용/호환성 지원
- 취약성 또한 동일하게 발생함을 확인
- 웹 취약점 진단 방법으로 진단 가능

실습과 실제 진단 시 유의사항
- 조건절 검사 시 OR 구문 사용 유의
- 주석 구문 사용 유의
- 시스템 가용성 저해 우려
- 요청 당 요금이 청구되는 람다함수 특성 이해 필요

 

05. 보안 대책

SQL Injection 보안 대책
1) RDS 인스턴스 보안
-> 데이터 암호화 설정

2) 애플리케이션 레벨 예방
- Prepared Statement 사용
- 입력 값에 대한 검증
- Error Message 노출 금지
- AWS WAF

 

[AWS] AWS 인프라 개요

 

[AWS] AWS 인프라 개요

A. AWS 글로벌 인프라 AWS 글로벌 인프라는 리전(엣지), 가용 영역, 데이터 센터로 이루어져 있습니다. 각각의 리전은 이중화된 100GbE 케이블로 연결되어 있으며 암호화되어 전달되고 있습니다. 1.

infoofit.tistory.com

 

[AWS] Network - 퍼블릭 서브넷 VPC 생성

 

[AWS] Network - 퍼블릭 서브넷 VPC 생성

A. 퍼블릭 서브넷 VPC 생성1. VPC 생성이번에 실습 시간에 구성할 최종 구성도 입니다. 참고바랍니다.서비스 -> 네트워킹 및 서비스 -> VPC -> VPC 생성VPC 설정 창으로 이동하면 하기와 같이 옵션을 선

infoofit.tistory.com

 

반응형