반응형
AJAX를 사용해 JSON데이터를 넘길 때 발생 가능한 보안 위협과 해결방안
1. 크로스 사이트 스크립팅 (XSS):
- 보안 위협: 공격자가 악의적인 스크립트를 웹 페이지에 삽입하여 사용자의 브라우저에서 실행시키는 공격.
- 해결 방법:
- 입력 데이터를 이스케이핑하여 스크립트 실행 방지.
- Content Security Policy (CSP) 헤더 설정하여 스크립트의 실행을 제한.
2. SQL 인젝션:
- 보안 위협: 악의적인 SQL 쿼리를 입력하여 데이터베이스에 대한 액세스 권한 획득 및 데이터 유출.
- 해결 방법:
- 프리페어드 스테이트먼트나 ORM 사용하여 SQL 인젝션 방지.
- 입력 데이터 검증 및 이스케이핑.
3. 크로스 사이트 요청 위조 (CSRF):
- 보안 위협: 사용자의 인증된 세션을 이용하여 사용자가 의도치 않은 동작을 수행하게 만드는 공격.
- 해결 방법:
- CSRF 토큰 사용하여 요청 검증.
- Referrer 헤더 검증.
4. 보안 헤더 부재:
- 보안 위협: 적절한 보안 헤더 설정 부재로 인한 다양한 공격 가능성.
- 해결 방법:
- CORS 헤더, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection 등의 보안 헤더 설정.
- Content Security Policy (CSP) 사용.
5. 파라미터 검증 부재:
- 보안 위협: 입력 데이터의 검증 및 이스케이핑이 부족하여 악의적인 입력 데이터를 서버로 전송 가능.
- 해결 방법:
- 입력 데이터의 검증 및 이스케이핑을 수행.
- 백엔드에서 입력 데이터를 정규화하고 필요한 검증 수행.
반응형