<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=Germany%2FProjekte%2FTop_10-2013-A4-Unsichere_direkte_Objektreferenzen</id>
		<title>Germany/Projekte/Top 10-2013-A4-Unsichere direkte Objektreferenzen - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.owasp.org/index.php?action=history&amp;feed=atom&amp;title=Germany%2FProjekte%2FTop_10-2013-A4-Unsichere_direkte_Objektreferenzen"/>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Germany/Projekte/Top_10-2013-A4-Unsichere_direkte_Objektreferenzen&amp;action=history"/>
		<updated>2026-05-02T09:31:02Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.2</generator>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Germany/Projekte/Top_10-2013-A4-Unsichere_direkte_Objektreferenzen&amp;diff=153878&amp;oldid=prev</id>
		<title>T.Gigler: Top_10_2010:SummaryTableHeaderBeginTemplate|type=images =&gt; mit Bildern</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Germany/Projekte/Top_10-2013-A4-Unsichere_direkte_Objektreferenzen&amp;diff=153878&amp;oldid=prev"/>
				<updated>2013-06-15T22:27:33Z</updated>
		
		<summary type="html">&lt;p&gt;Top_10_2010:SummaryTableHeaderBeginTemplate|type=images =&amp;gt; mit Bildern&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 22:27, 15 June 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot; &gt;Line 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Top_10_2010:SummaryTableHeaderBeginTemplate|year=2013|language=de}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Top_10_2010:SummaryTableHeaderBeginTemplate&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;|type=images&lt;/ins&gt;|year=2013|language=de}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; {{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=1|impact=2|year=2013|language=de}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; {{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=1|impact=2|year=2013|language=de}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>T.Gigler</name></author>	</entry>

	<entry>
		<id>https://wiki.owasp.org/index.php?title=Germany/Projekte/Top_10-2013-A4-Unsichere_direkte_Objektreferenzen&amp;diff=153845&amp;oldid=prev</id>
		<title>T.Gigler: Import vom engl. Wiki, mit language=de</title>
		<link rel="alternate" type="text/html" href="https://wiki.owasp.org/index.php?title=Germany/Projekte/Top_10-2013-A4-Unsichere_direkte_Objektreferenzen&amp;diff=153845&amp;oldid=prev"/>
				<updated>2013-06-15T17:57:34Z</updated>
		
		<summary type="html">&lt;p&gt;Import vom engl. Wiki, mit language=de&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Top_10_2013:TopTemplate&lt;br /&gt;
    |usenext=2013NextLink&lt;br /&gt;
    |next=A5-{{Top_10_2010:ByTheNumbers&lt;br /&gt;
              |5&lt;br /&gt;
              |year=2013&lt;br /&gt;
              |language=de}}&lt;br /&gt;
    |useprev=2013PrevLink&lt;br /&gt;
    |prev=A3-{{Top_10_2010:ByTheNumbers&lt;br /&gt;
              |3&lt;br /&gt;
              |year=2013&lt;br /&gt;
              |language=de}}&lt;br /&gt;
    |year=2013&lt;br /&gt;
    |language=de&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderBeginTemplate|year=2013|language=de}}&lt;br /&gt;
  {{Top_10:SummaryTableTemplate|exploitability=1|prevalence=2|detectability=1|impact=2|year=2013|language=de}}&lt;br /&gt;
{{Top_10_2010:SummaryTableHeaderEndTemplate|year=2013}}&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;&lt;br /&gt;
Consider the types of users of your system. Do any users have only partial access to certain types of system data?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;&lt;br /&gt;
Attacker, who is an authorized system user, simply changes a parameter value that directly refers to a system object to another object the user isn’t authorized for. Is access granted?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td colspan=2  {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;&lt;br /&gt;
Applications frequently use the actual name or key of an object when generating web pages. Applications don’t always verify the user is authorized for the target object. This results in an insecure direct object reference flaw. Testers can easily manipulate parameter values to detect such flaws. Code analysis quickly shows whether authorization is properly verified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;&lt;br /&gt;
Such flaws can compromise all the data that can be referenced by the parameter. Unless object references are unpredictable, it’s easy for an attacker to access all available data of that type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
     &amp;lt;td {{Template:Top 10 2010:SummaryTableRowStyleTemplate}}&amp;gt;Consider the business value of the exposed data.&lt;br /&gt;
&lt;br /&gt;
Also consider the business impact of public exposure of the vulnerability&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
{{Top_10_2010:SummaryTableEndTemplate}}&lt;br /&gt;
&lt;br /&gt;
{{Top_10:SubsectionTableBeginTemplate|type=main}} {{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=vulnerableTo|position=firstLeft|risk=4|year=2013|language=de}}&lt;br /&gt;
The best way to find out if an application is vulnerable to insecure direct object references is to verify that &amp;lt;u&amp;gt;all&amp;lt;/u&amp;gt; object references have appropriate defenses. To achieve this, consider:&lt;br /&gt;
# For '''direct''' references to '''restricted''' resources, does the application fail to verify the user is authorized to access the exact resource they have requested?&lt;br /&gt;
# If the reference is an '''indirect''' reference, does the mapping to the direct reference fail to limit the values to those authorized for the current user?&lt;br /&gt;
&lt;br /&gt;
Code review of the application can quickly verify whether either approach is implemented safely. Testing is also effective for identifying direct object references and whether they are safe. Automated tools typically do not look for such flaws because they cannot recognize what requires protection or what is safe or unsafe.&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=howPrevent|position=right|risk=4|year=2013|language=de}}&lt;br /&gt;
Preventing insecure direct object references requires selecting an approach for protecting each user accessible object (e.g., object number, filename):&lt;br /&gt;
# '''Use per user or session indirect object references.''' This prevents attackers from directly targeting unauthorized resources. For example, instead of using the resource’s database key, a drop down list of six resources authorized for the current user could use the numbers 1 to 6 to indicate which value the user selected. The application has to map the per-user indirect reference back to the actual database key on the server. OWASP’s [https://www.owasp.org/index.php/ESAPI ESAPI] includes both sequential and random access reference maps that developers can use to eliminate direct object references. &lt;br /&gt;
# '''Check access.''' Each use of a direct object reference from an untrusted source must include an access control check to ensure the user is authorized for the requested object.&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=example|position=left|risk=4|year=2013|language=de}}&lt;br /&gt;
The application uses unverified data in a SQL call that is accessing account information:&lt;br /&gt;
{{Top_10_2010:ExampleBeginTemplate|year=2013}}&lt;br /&gt;
String query = &amp;quot;SELECT * FROM accts WHERE account = ?&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
PreparedStatement pstmt = connection.prepareStatement(query , … );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;pstmt.setString( 1, request.getParameter(&amp;quot;acct&amp;quot;));&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ResultSet results = pstmt.executeQuery( );&lt;br /&gt;
{{Top_10_2010:ExampleEndTemplate}}&lt;br /&gt;
&lt;br /&gt;
The attacker simply modifies the ‘acct’ parameter in their browser to send whatever account number they want. If not verified, the attacker can access any user’s account, instead of only the intended customer’s account.&lt;br /&gt;
{{Top_10_2010:ExampleBeginTemplate|year=2013}}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;http://example.com/app/accountInfo?acct=&amp;lt;/nowiki&amp;gt;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;notmyacct&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
{{Top_10_2010:ExampleEndTemplate}}&lt;br /&gt;
{{Top_10_2010:SubsectionAdvancedTemplate|type={{Top_10_2010:StyleTemplate}}|subsection=references|position=right|risk=4|year=2013|language=de}}&lt;br /&gt;
{{Top_10_2010:SubSubsectionOWASPReferencesTemplate}}&lt;br /&gt;
* [https://www.owasp.org/index.php/Top_10_2007-Insecure_Direct_Object_Reference  OWASP Top 10-2007 on Insecure Dir Object References]&lt;br /&gt;
* [http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/org/owasp/esapi/AccessReferenceMap.html  ESAPI Access Reference Map API]&lt;br /&gt;
* [http://owasp-esapi-java.googlecode.com/svn/trunk_doc/latest/org/owasp/esapi/AccessController.html  ESAPI Access Control API] (See isAuthorizedForData(), isAuthorizedForFile(), isAuthorizedForFunction() )&lt;br /&gt;
&lt;br /&gt;
For additional access control requirements, see the [https://www.owasp.org/index.php/ASVS  ASVS requirements area for Access Control (V4)].&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2010:SubSubsectionExternalReferencesTemplate|language=de}}&lt;br /&gt;
* [http://cwe.mitre.org/data/definitions/639.html  CWE Entry 639 on Insecure Direct Object References]&lt;br /&gt;
* [http://cwe.mitre.org/data/definitions/22.html  CWE Entry 22 on Path Traversal] (is an example of a Direct Object Reference attack)&lt;br /&gt;
&lt;br /&gt;
{{Top_10_2013:BottomAdvancedTemplate&lt;br /&gt;
    |type={{Top_10_2010:StyleTemplate}}&lt;br /&gt;
    |usenext=2013NextLink&lt;br /&gt;
    |next=A5-{{Top_10_2010:ByTheNumbers&lt;br /&gt;
              |5&lt;br /&gt;
              |year=2013&lt;br /&gt;
              |language=de}}&lt;br /&gt;
    |useprev=2013PrevLink&lt;br /&gt;
    |prev=A3-{{Top_10_2010:ByTheNumbers&lt;br /&gt;
              |3&lt;br /&gt;
              |year=2013&lt;br /&gt;
              |language=de}}&lt;br /&gt;
    |year=2013&lt;br /&gt;
    |language=de&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>T.Gigler</name></author>	</entry>

	</feed>