Security Testing 简明教程

Security Testing - Sensitive Data Exposure

随着在线应用程序在互联网上日益泛滥,并非所有应用程序都是安全的。许多 Web 应用程序不能适当保护敏感的用户数据,如信用卡信息/银行账户信息/验证凭据。黑客最终可能会窃取那些受到较弱保护的数据来进行信用卡欺诈、身份盗用或其他犯罪。

Let us understand Threat Agents, Attack Vectors, Security Weakness, Technical Impact and Business Impacts of this flaw with the help of simple diagram.

sensitive data exposture

Example

以下是安全错误配置的一些经典示例:

  1. 一个站点干脆不为所有经过验证的页面使用 SSL。这使得攻击者能够监视网络流量并窃取用户的会话 Cookie,以劫持用户的会话或访问其私有数据。

  2. 一个应用程序以加密格式存储数据库中的信用卡号。检索后,它们会被解密,允许黑客执行 SQL 注入攻击以检索明文中的所有敏感信息。可以使用公钥加密信用卡号并允许后端应用程序使用私钥对其进行解密来避免这种情况。

Hands ON

Step 1 - 启动 WebGoat 并导航到“不安全存储”部分。下面显示了它的快照。

insecure storage 1

Step 2 - 输入用户名和密码。现在是学习我们在前面讨论过的不同类型的编码和加密方法的时候了。

Preventive Mechanisms

  1. 建议不要不必要地存储敏感数据,如果不再需要,应尽快将其清除掉。

  2. 重要的是要确保我们纳入强大的标准加密算法,并采用适当的关键管理。

  3. It can also be avoided by disabling autocomplete on forms that collect sensitive data such as password and disable caching for pages that contain sensitive data.