Vulnerabilities / Threats

8/15/2013
06:14 PM
Connect Directly
Twitter
Twitter
RSS
E-Mail
50%
50%

Don't Underestimate Directory Traversal Attacks

Are attackers dot-dot-slashing their way into your data?

About as simple to fix as they are to exploit, directory traversal vulnerabilities stand as a persistent threat in the application environment. Yet it is one that many developers and even security teams are unaware can lead attackers to gain valuable information about how a system is organized, to get access to sensitive files on the application server, or even to easily leverage to start other attacks on that server or the rest of the network.

Perhaps not as favored as SQL injection, directory traversal attacks can wreak a lot of damage by taking advantage of the way applications access files not really meant to be accessed by that application.

"What a directory traversal attack is is an attempt to circumvent a URL or a request to a website by trying to get the application to point in the wrong direction," says Barry Shteiman, senior security strategist for Imperva, explaining that often all it takes is a well-placed "../" expression in a user-input field or, even within URLs in the case of RESTful Web services, for attackers to get a vulnerable app to allow them to climb the directory for unauthorized access. "A ../ to the server means, 'Let's go back a directory on the back-end server structure.' Every time you do that, the application climbs higher to a previous state."

[Did you miss Black Hat USA? See Dark Reading's Black Hat coverage to catch up the highlights from talks and research presented at the show.]

Using a directory traversal attack, which is also frequently referred to as path traversal, it's often possible for an attacker to go as far back as the C drive of the server. From there, the world is an attacker's oyster -- they can frequently steal information directly from there or use information they've gained to launch other attacks.

"When an app is vulnerable to this, it is commonly because it is not validating inputs or has a very old version of [Web server software] which does not enforce a bounded file system root location," says Scott Parcel, CTO of Cenzic. "Also it is easier to accept file names for some selections than to present a choice of mapped names. If accepting and using actual file names, different names and paths can be forced into the input and thus cause operations on files not indented to be referenced in this way."

According to Imperva's most recent "Web Application Attack Report," released last month, directory traversal attacks against retail Web applications made up 31 percent of the attacks compared to the eight most prevalent types of attacks, and they made up 36 percent of attacks against all other industries' Web apps. In retail, that number lagged behind a whopping 53 percent of SQL injection attacks, but in other verticals it even led SQLi, which only made 27 percent of attacks. Meanwhile, secure hosting firm FireHost also reported last month in its Superfecta attack statistics about four major attacks it commonly blocks -- XSS, directory traversal, cross-site request forgery, and SQL injection -- directory traversal ranked second behind XSS, making up 23 percent of the 9.8 million attacks blocked from these four major categories using its IP Reputation Management system.

And according to Chris Wysopal, CTO and co-founder of Veracode, three years of data from more than 20,000 applications the firm has tested have found that applications with one or more directory flaws is at 49 percent and has been steady during those years.

"Directory traversal is actually the vulnerability developers fix the least, even when they know it is in their app," Wysopal says. "Developers either don't understand the risks of directory traversal or don't see much risk in it. On the contrary, directory traversal vulnerabilities that can be used to access files that should remain confidential can also be used to modify files on the application server."

As organizations seek to mitigate the threat of these attacks, input validation is crucial, says Parcel.

"Validation should check not only for prefix characters, such as "../..", but for a limited enumeration of indirect names," he says. "In general, accepting actual file names from Web inputs should be avoided unless that part of the application is intentionally presenting the concept of files as entities that users are manipulating, such as would be the case for Google Drive Web pages."

Meanwhile, Web application firewalls can be used to catch common phrases used, but organizations have to be careful they don't break apps because coders frequently hard-wire directory traversal right into their apps, Shteiman says.

"A lot of developers in the world, just for means of convenience, embed directory traversal into their code," he says, explaining that they may use coding shortcuts to avoid having to do painstaking changes to file names when application or system versions change. "It makes mitigation just a little bit harder because you can't really do a signature on it. If the application is written this way, you're going to have a false positive, and then you just kept your application from working."

Have a comment on this story? Please click "Add Your Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message. Ericka Chickowski specializes in coverage of information technology and business innovation. She has focused on information security for the better part of a decade and regularly writes about the security industry as a contributor to Dark Reading.  View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Devastating Cyberattack on Email Provider Destroys 18 Years of Data
Jai Vijayan, Freelance writer,  2/12/2019
Up to 100,000 Reported Affected in Landmark White Data Breach
Kelly Sheridan, Staff Editor, Dark Reading,  2/12/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
How Enterprises Are Attacking the Cybersecurity Problem
How Enterprises Are Attacking the Cybersecurity Problem
Data breach fears and the need to comply with regulations such as GDPR are two major drivers increased spending on security products and technologies. But other factors are contributing to the trend as well. Find out more about how enterprises are attacking the cybersecurity problem by reading our report today.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-8354
PUBLISHED: 2019-02-15
An issue was discovered in SoX 14.4.2. lsx_make_lpf in effect_i_dsp.c has an integer overflow on the result of multiplication fed into malloc. When the buffer is allocated, it is smaller than expected, leading to a heap-based buffer overflow.
CVE-2019-8355
PUBLISHED: 2019-02-15
An issue was discovered in SoX 14.4.2. In xmalloc.h, there is an integer overflow on the result of multiplication fed into the lsx_valloc macro that wraps malloc. When the buffer is allocated, it is smaller than expected, leading to a heap-based buffer overflow in channels_start in remix.c.
CVE-2019-8356
PUBLISHED: 2019-02-15
An issue was discovered in SoX 14.4.2. One of the arguments to bitrv2 in fft4g.c is not guarded, such that it can lead to write access outside of the statically declared array, aka a stack-based buffer overflow.
CVE-2019-8357
PUBLISHED: 2019-02-15
An issue was discovered in SoX 14.4.2. lsx_make_lpf in effect_i_dsp.c allows a NULL pointer dereference.
CVE-2013-2516
PUBLISHED: 2019-02-15
Vulnerability in FileUtils v0.7, Ruby Gem Fileutils <= v0.7 Command Injection vulnerability in user supplied url variable that is passed to the shell.