很难具体回答您的问题,因为根据您发布的内容,您对 Android 应用程序和 Java 服务器感到好奇,但您问的是一个非常笼统的问题。OWASP 发布的大部分内容都是非常高级的,因此如果不了解您的 Android 应用程序和服务器如何工作的细节,那么获得任何真正的实质性答案都将是困难的。通常,当人们可以追踪服务器并拥有将通过所有手机而不仅仅是一部手机的所有数据时,他们不会攻击手机。
所以注入、XSS、CSRF 等大多适用于服务器端。如果您的程序使用它,您可以对 Android SQLite 数据库执行注入(请参阅此处的应用程序细节如何发挥作用)。如果您的应用程序是基于 Web 的客户端,或者在其中的任何部分使用 webview(再次具体问题),则 XSS、CSRF 可能适用。
使用 PreparedStatements/PreparedCall 可以轻松地修复 Java 服务器上的注入。不要使用声明。如果您使用的是 JPA、Hibernate、iBatis,其中大部分都在后台使用 PreparedStatements。Java 应用程序中的注入很容易阻止这些攻击:
https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java
XSS 和 CSRF 更难,但可以使用过滤器来防止。阅读此页面,您会看到在哪里有另一个指向该项目的链接来描述它。
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet
通过不安全的连接发送密码。如果您通过 HTTP 或非 SSL 套接字发送密码,那么您将泄露太多信息(使用单向哈希没有帮助,因为我不需要知道密码。我需要的只是哈希这是明文传输的)。因此,请确保您使用 SSL 对用户进行身份验证。然后我们可以了解您如何在数据库中存储这些密码。您是否使用单向哈希?你在使用 bcrypt 吗?如果不是,您是否使用 SALT?您是否在对哈希进行迭代以增加破坏该哈希所需的时间?
大多数入侵涉及通过操作系统中的漏洞、数据库、SQL 注入等访问底层数据库。抓取存储用户和密码的表。然后使用简单的现成显卡运行超快速暴力破解方法来暴力破解密码。如果您不注意适当地保护您的密码,那么今天大多数单向哈希都可以使用这种方法破解。