从客户端就开始验证输入
细节
即使是应用程序生成的数据,也可能会被拦截和篡改。这可能包括导致应用程序崩溃(生成键崩溃日志),缓冲区溢出,SQL注入和其他类型的攻击。这可以通过在iOS中实现UITextFieldDelegate中的方法轻松复现。
修复
与通常的Web应用程序安全性相同,客户端的所有输入都必须被视为不可信。服务端必须彻底过滤和验证来自应用和用户的输入。在发送前和接收后,对用户所有的输入适当地进行安全处理。
参考
Android - Content Provider Injection Case of Study - https://viaforensics.com/mobile-security/ebay-android-content-provider-injection-vulnerability.html
- M8 - Security Decisions via Untrusted Inputs
- CWE 79, 89, 120