代码审计--4--授权管理

版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途。 https://blog.csdn.net/wutianxu123/article/details/82941445

4.1 越权漏洞

授权用户通过更改访问时的参数,可以访问到原本并没有得到授权的对象,此时应用程序存在越权漏洞。

代码示例:

String query = "SELECT * FROM accounts WHERE id = ?";
PreparedStatement stmt = connection.prepareStatement(query, ...);
stmt.setString(1, request.getParameter("id"));
ResultSet results = stmt.executeQuery();

//上面一段代码缺少进一步的权限控制机制,导致攻击者可以通过将URL中的id参数更改为其他用户的id从而越权查询其他用户的信息

4.2 URL访问控制不严格

应用程序往往具有不同角色的用户,不同角色的用户具有不同的权限和功能,这些不同的功能分别对应不同的URL。

对URL的访问控制不严格可能导致攻击者非授权访问一些敏感信息、调用敏感方法。

代码示例:

String query = "SELECT * FROM accounts WHERE id = ?";
PreparedStatement stmt = connection.prepareStatement(query, ...);
stmt.setString(1, request.getParameter("id"));
ResultSet results = stmt.executeQuery();

//上面一段代码缺少进一步的权限控制机制,导致攻击者可以通过将URL中的id参数更改为其他用户的id从而越权查询其他用户的信息

猜你喜欢

转载自blog.csdn.net/wutianxu123/article/details/82941445
4--