Skip to Main Content
Securing Node Applications
book

Securing Node Applications

by Chetan Karande
May 2017
🌐 Insecure Direct Object References - Securing Node Applications [Book]Intermediate to advanced content level - www.oreilly.comIntermediate to advanced
91 pages
1h 40m
English
O'Reilly Media, Inc.
Content preview from Securing Node Applications

Chapter 4. Insecure Direct Object References

The insecure direct object references vulnerability allows an attacker to steal other users’ data of a specific type. Beyond just the data in a database, an attacker can exploit it to access restricted files or directories on the server. According to the Open Web Application Security Project (OWASP), an insecure direct object references vulnerability is commonplace and easy to exploit.

So, what makes an application vulnerable to this attack? As the name indicates, it is caused when a direct reference (such as a database ID or a filename) to a restricted object is exposed to users as part of the URL parameter. In addition, the application fails to verify whether the user is authorized to access the requested object for which the reference is present in the request URL.

Let’s examine some specific attack vectors and ways to mitigate them.

Attack Mechanics

In this exploit, attackers manipulate the identifier in the request URL to access other records in the database that do not belong to them. For example, consider this URL on a vulnerable application:

www.example.com/profile/3032

In this URL, 3032 is an ID of a profile record in the database. Because it is exposed in the URL and predictable, an attacker can simply change it to some other value and access other users’ restricted profiles.

Here is an another example of using a URL to retrieve a filesystem resource:

www.example.com/reports?name=feb2016report.pdf

The name parameter in this ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Secure Your Node.js Web Application

Secure Your Node.js Web Application

Karl Duuna
Securing DevOps

Securing DevOps

Julien Vehent

Publisher Resources

ISBN: 9781491982426