程序聲明了僅定義 writePermission 的內容提供者。
雖然為內容提供者定義單獨的讀取和寫入權限是一種好方法,但只定義 writePermission 可能會產生誤導。由于 SQL 本身具備的特點,通常不可能生成真正只讀的查詢:即使用戶不具備直接訪問數據的權限,攻擊者仍可通過操作 where 子句來重構存儲的數據。
例:下面是僅具有 writePermission 的聲明的內容提供者示例。
<provider android:name=".ContentProvider" android:writePermission="content.permission.WRITE_CONTENT"/>
[1] Standards Mapping - OWASP Top 10 2004 - (OWASP 2004) A2 Broken Access Control
[2] Standards Mapping - OWASP Top 10 2010 - (OWASP 2010) A6 Security Misconfiguration
[3] Standards Mapping - FIPS200 - (FISMA) AC
[4] Standards Mapping - Common Weakness Enumeration - (CWE) CWE ID 265
[5] Jesse Burns Developing Secure Mobile Applications for Android
[6] Standards Mapping - SANS Top 25 2009 - (SANS 2009) Improper Access Control - CWE ID 285
[7] Path Permission Element
[8] Provider Element
[9] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1 - (PCI 1.1) Requirement 6.5.10
[10] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2 - (PCI 1.2) Requirement 7.1.1
[11] Using Permissions