Top-10 案例翻译
A01:2021 – Broken Access Control
https://owasp.org/Top10/A01_2021-Broken_Access_Control/#example-attack-scenarios
Example Attack Scenarios:
场景 #1:应用程序在访问帐户信息的 SQL 调用中使用未经验证的数据:
1 | pstmt.setString(1, request.getParameter("acct")); |
攻击者只需修改浏览器的“acct”参数即可发送他们想要的任何帐号。如果没有正确验证,攻击者可以访问任何用户的帐户。
1 | https://example.com/app/accountInfo?acct=notmyacct |
场景#2:攻击者只是强制浏览到目标 URL。访问管理页面需要管理员权限。
1 | https://example.com/app/getappInfo |
如果未经身份验证的用户可以访问任一页面,则这是一个缺陷。如果非管理员可以访问管理页面,这是一个缺陷。
A02:2021 – Cryptographic Failures
https://owasp.org/Top10/A02_2021-Cryptographic_Failures/#example-attack-scenarios
Example Attack Scenarios:
场景#1:应用程序使用自动数据库加密对数据库中的信用卡号进行加密。但是,此数据在检索时会自动解密,从而允许 SQL 注入缺陷以明文形式检索信用卡号。
场景#2:站点不使用或对所有页面强制执行 TLS 或支持弱加密。攻击者监视网络流量(例如,在不安全的无线网络中),将连接从 HTTPS 降级为 HTTP,拦截请求并窃取用户的会话 cookie。然后攻击者重放这个 cookie 并劫持用户的(经过身份验证的)会话,访问或修改用户的私人数据。除了上述之外,他们还可以更改所有传输的数据,例如,汇款的接收者。
场景#3:密码数据库使用未加盐或简单的哈希来存储每个人的密码。文件上传缺陷允许攻击者检索密码数据库。所有未加盐的哈希值都可以通过预先计算的哈希值彩虹表公开。由简单或快速散列函数生成的散列可能会被 GPU 破解,即使它们被加盐。