계: Input Validation and Representation

입력 검증 및 표현 문제는 메타 문자, 대체 인코딩 및 숫자 표현 때문에 발생합니다. 보안 문제는 입력을 신뢰하기 때문에 발생합니다. 문제로는 "Buffer Overflows", "Cross-Site Scripting" 공격, "SQL Injection", 그 외 여러 가지가 있습니다.

Intent Manipulation

Abstract
Intent 매개 변수를 제어하는 사용자 입력을 허용하면 공격자가 이후 작업의 동작을 제어할 수 있습니다.
Explanation
Intent manipulation 이슈는 다음 두 가지 조건을 만족할 때 발생합니다.

1. 공격자가 Android 인텐트의 작업, 클래스 이름 또는 구성 요소를 지정할 수 있습니다.

예를 들어, 공격자는 인텐트를 처리할 클래스 이름이나 구성 요소를 지정할 수 있습니다.

2. 공격자가 작업, 클래스 이름 또는 구성 요소를 지정하여 다른 방법으로는 허용되지 않는 권한을 얻습니다.

예를 들어, 프로그램은 공격자에게 민감한 정보를 제 3의 장치 소프트웨어에 전달하는 능력을 부여할 수 있습니다.

예제1: 다음 코드는 HTTP 요청에서 읽은 인수를 사용하여 인텐트의 클래스 이름을 설정합니다.


String arg = request.getParameter("arg");
...
Intent intent = new Intent();
...
intent.setClassName(arg);
ctx.startActivity(intent);
...
References
[1] Intent
desc.dataflow.java.intent_manipulation