当开发人员公开对内部实现对象(例如:文件,目录或数据库密钥)的引用而没有任何允许攻击者操纵这些引用来访问未授权数据的验证机制时,可能会发生直接对象引用。
通过下面每项来了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响。
该应用程序在访问帐户信息的SQL调用中使用未验证的数据。
String sqlquery = "SELECT * FROM useraccounts WHERE account = ?"; PreparedStatement st = connection.prepareStatement(sqlquery, ??); st.setString( 1, request.getParameter("acct")); ResultSet results = st.executeQuery( );
攻击者在其浏览器中修改查询参数以指向Admin
。
http://webapp.com/app/accountInfo?acct=admin
第1步 - 登录Webgoat并导航到访问控制缺陷部分。目标是通过导航到它所在的路径来检索tomcat-users.xml
。以下是该场景的快照。
第2步 - 文件的路径显示在’当前目录是’字段 - C:\Users\userName$\.extract\webapps\WebGoat\lesson_plans\en
中我们也知道tomcat-users.xml
文件是保存在C:\xampp\tomcat\conf
下。
第3步 - 需要遍历当前目录并从C:/Drive
导航。可以通过使用Burp Suite拦截流量来执行相同的操作。
第4步 - 如果尝试成功,它将显示tomcat-users.xml
,并显示消息Congratulations. You have successfully completed this lesson.。