iframe 인젝션
iframe 인젝션은 공격자가 악의적인 'iframe' 요소를 웹 페이지에 삽입하여 사용자로 하여금 다른 웹 사이트로 리디렉션됙거나 악성 콘텐츠를 로드하게 하는 보안 취약점이다. ifame 요소는 다른 HTML 페이지를 현재 페이지 안에 삽입할 수 있는 HTML 태그다.
OS Command 인젝션
시스템 명령어를 쿼리문에 주입하여 취약한 변수를 통해 서버 운영체제에 접근하는 공격이다.
- 사용자 입력을 직접 명령어에 포함시키지 않고, 필요한 경우 사용자 입력을 철저히 검증하고 이스케이프 처리한다.
- 특정 문자(예: ;, &, |, &&, ||, <, >, $, \)를 필터링하거나 이스케이프 처리하여 명령어 실행에 악용되지 않도록 한다.
PHP Code 인젝션
PHP 코드 인젝션은 공격자가 악의적인 PHP 코드를 웹 애플리케이션에 삽입하여 실행할 수 있는 보안 취약점이다. 이는 보통 사용자 입력을 제대로 검증하지 않고 eval(), include(), require(), preg_replace() (사용자 입력에 /e 수정자를 사용하는 경우) 등의 함수를 통해 실행할 때 발생한다.
<PHP 코드 인젝션의 위험성>
- 서버 제어: 공격자는 악의적인 코드를 통해 서버를 완전히 제어할 수 있다.
- 데이터 유출: 데이터베이스에 접근하여 민감한 정보를 탈취할 수 있다..
- 서비스 거부(DoS): 서버 자원을 소진시켜 서비스를 방해할 수 있다..
- 백도어 설치: 공격자는 백도어를 설치하여 나중에 다시 서버에 접근할 수 있다.
<PHP 코드 인젝션 방지 방안>
- 사용자 입력 검증 및 필터링: 사용자 입력을 철저히 검증하고 이스케이프 처리한다.
- eval() 함수 사용 금지: eval() 함수를 사용하지 않고 대체 방법을 사용한다.
- 동적 파일 포함 금지: 사용자 입력을 사용하여 파일을 포함하지 않는다.
- Prepared Statements 사용: 데이터베이스 쿼리에 Prepared Statements를 사용하여 SQL 인젝션을 방지한다.
- 출력 이스케이프 처리: 사용자 입력을 출력하기 전에 HTML 이스케이프 처리를 한다.
SSI(Server Side Includes) 인젝션
SSI 인젝션은 웹 서버가 서버 측에서 HTML 파일에 포함된 SSI 지시문을 처리할 때 발생할 수 있는 보안 취약점이다. SSI 지시문을 통해 서버는 다른 파일을 포함하거나 변수를 대체할 수 있다. 이 과정에서 공격자가 SSI 지시문을 악용하여 서버에서 임의의 파일을 포함하거나 명령어를 실행할 수 있다.
사용자가 입력한 데이터를 포함하는 SSI 제시문을 제한한다. 예를 들어, 'include', 'exec', 'config' 등의 SSI 지시문을 필터링하여 사용하지 않도록 한다.
'Study records > Web hacking' 카테고리의 다른 글
[Beebox] SQL 인젝션 (SQLMAP & Metasploit) (0) | 2024.06.23 |
---|---|
[Beebox] SQL 인젝션 기초 (0) | 2024.06.21 |
[Beebox] HTML 인젝션 (0) | 2024.06.20 |
크로스 사이트 스크립팅 공격 (1) | 2024.05.25 |
커맨드 인젝션 공격 (0) | 2024.05.25 |