English 中文(简体)
Insecure Direct Object Reference
  • 时间:2024-03-21 18:07:48

Insecure Direct Object References


Previous Page Next Page  

如果不建立任何验证机制,让攻击者操纵这些提及获取未经许可的数据时,开发商可能会直接提及内部执行物体,如档案、目录或数据库钥匙。

让我们在简单图表的帮助下理解这一缺陷的威胁代理人、攻击者、安全弱点、技术影响和商业影响。

insecure direct obj ref

Example

应用程序在正在获取账户信息的电传中使用未经核实的数据。

String sqlquery = "SELECT * FROM useraccounts WHERE account = ?";
PreparedStatement st = connection.prepareStatement(sqlquery, ??);
st.setString( 1, request.getParameter("acct"));
ResultSet results = st.executeQuery( );

袭击者将弹道参数 mo到Admin。

http://webapp.com/app/accountInfo?acct=admin

Hands ON

1. insecure direct obj ref1

档案在目前的目录中展示的路程是实地的:C:UsersuserName$.extractwebappsWebGoatlesson_plansen,我们也知道,托马散星用户档案存放在C:xampp omcatconf。

我们需要从目前的目录和航道中 all出一切。 我们能够通过拦截使用Burp Suite的交通来做到这一点。

2 insecure direct obj ref

如果这一尝试取得成功,则显示散射用户xml带“Congratulations”。 你成功地完成了这一教训。

2 insecure direct obj ref

Preventive Mechanisms

开发商可使用以下资源/点作为指南,防止在开发阶段本身出现不可靠的直接物体。

    开发商只应使用一个用户或一个届会作为间接物体参考。

    还建议在使用未经委托的源头直接标注之前检查出入情况。

Advertisements