본문 바로가기

Study records/Web hacking

[Beebox] iframe, OS, PHP, SSI 인젝션

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