초보무지랭이에게 너무나도 필요한 웹보안 지식입니다.. 이번에 우연히 몇 가지 필수 웹보안 지식 키워드를 발견했습니다. 그래서 정리한 걸 블로그에 포스팅합니다! SQL Injection, XSS, CSRF, Command Injection 네가지에 대해서 알아보도록 하겠습니다!
1. SQL Injection
- 설명: SQL Injection은 악의적인 사용자가 웹 애플리케이션의 입력 폼 또는 URL 매개변수를 통해 SQL 쿼리를 주입하는 공격 기법입니다. 이를 통해 공격자는 데이터베이스에 대한 액세스 권한을 얻거나 데이터를 수정, 삭제할 수 있습니다.
- 예시: 사용자 로그인 페이지에서 아래와 같은 입력을 시도할 수 있습니다.
Username: admin' OR '1'='1
Password: password
이렇게 입력하면 SQL 쿼리가 다음과 같이 변조되어 인증 우회가 가능해집니다.
SELECT * FROM users WHERE username = 'admin' OR '1'='1' AND password = 'password'
2. Cross-Site Scripting (XSS)
- 설명: XSS는 공격자가 악의적인 스크립트를 웹 페이지에 삽입하는 공격입니다. 이 스크립트는 사용자 브라우저에서 실행되며, 주로 사용자의 정보를 탈취하거나 세션을 탈취하여 세션 하이재킹을 수행합니다.
- 예시: 게시판에 악의적인 JavaScript 코드를 삽입하여 다른 사용자들이 해당 페이지를 열 때 공격 스크립트가 실행되도록 만듭니다.
3. CSRF (Cross-Site Request Forgery) Attack
- 설명: CSRF는 공격자가 사용자의 인증 정보를 이용하여 사용자가 의도하지 않은 요청을 다른 웹 사이트에 전송하도록 유도하는 공격입니다. 이로 인해 사용자는 자신의 계정을 악의적으로 사용되게 할 수 있습니다.
- 예시: 사용자가 은행 웹 사이트에 로그인한 상태에서 공격자가 만든 악성 웹 페이지를 열면, 사용자는 모르게 은행 계정에서 자금을 이체하는 요청을 보내게 될 수 있습니다.
4. Command Injection
- 설명: Command Injection은 악의적인 입력을 통해 애플리케이션 또는 시스템 명령어를 주입하는 공격입니다. 이로 인해 공격자는 명령어를 실행하거나 시스템을 손상시킬 수 있습니다.
- 예시: 웹 애플리케이션에서 사용자 입력을 통해 시스템 명령어를 실행하는 경우, 공격자가 입력에 악의적인 명령어를 포함시켜 시스템을 조작할 수 있습니다.
이러한 공격을 방지하기 위해서는 적절한 보안 조치를 취하고 사용자 입력을 검증하고 이를 처리할 때 안전한 방식으로 다루어야 합니다.
'CODE > CodeKnowledge' 카테고리의 다른 글
Oracle 설치 2 (0) | 2023.10.03 |
---|---|
Oracle 설치 1 (0) | 2023.10.02 |
[SQL] 대용량 데이터 베이스 관리 : JOIN -1 (0) | 2023.08.29 |
[SQL] 인덱스 분포도가 중요한 이유 (0) | 2023.07.29 |
[SQL] BULK INSERT (mysql과 oracle 차이점) (0) | 2023.07.24 |
댓글