Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

03:12 PM
Connect Directly

Black Hat DC: Researchers To Release Web Development Platform Hacking Tool

Tool tests for newly discovered class of vulnerabilities in popular Apache, Sun, Microsoft Web development platforms

A technique used in Web application development platforms that provides a constant look-and-feel across multiple Web pages can potentially expose sensitive user data, such as credit-card numbers, according to researchers, who at next week's Black Hat DC will demonstrate a new class of vulnerabilities in Apache MyFaces, Sun Mojarra, and Microsoft ASP.NET. They will also release a tool that tests for the flaws.

The so-called "view state" technique in both the MyFaces and Mojarra frameworks can be exploited such that an attacker can view user data -- think username, password, and credit-card number -- that's temporarily stored on the server during a session. View state is basically a method for tracking changes to visual components on a Web page that lets the Web server update a Web page without moving from that page.

"This is a fairly complicated vulnerability," says David Byrne, senior security consultant with Trustwave's SpiderLabs. "View state is something most people have heard of, but they aren't familiar with its inner workings. The tool we're going to release will help reveal those inner workings."

Byrne and colleague Rohini Sulatycki, security consultant with Trustwave SpiderLabs, will demonstrate the types of attacks that can be waged using this class of vulnerabilities. Meanwhile, Trustwave will release a security advisory about the vulnerabilities, along with steps to prevent them from exploitation.

"This is the first time a vulnerability of this nature has been discovered," Byrne says. Until now, developers have had the option of deploying best practices offered by all three framework vendors in how they configure the framework.

"But [some developers] haven't taken these recommendations seriously because there weren't any specific vulnerabilities associated with them before. Our findings demonstrate that these best practices are there to protect you," he says. "Organizations already following them will not be affected by this [type of vulnerability or attack]."

The best protection is to encrypt view state so data can't be read or modified, he says.

Apache MyFaces and Sun Mojarra can be exploited to read session data stored on the server while a user is interacting with a Website, while Microsoft ASP.NET has a less-critical vulnerability that could result in a cross-site scripting (XSS) attack, the researchers say.

Aside from XSS, the view-state attacks could be initiated via a phishing email, for instance. "Users would be tricked into visiting a malicious link pointed at the actual Website. This allows attackers to read information about [the users] in the server. So in a banking application, they would be able to read account numbers and credit card numbers," Byrne says.

And all it would take for a targeted attack would be pilfering the user's credentials to do further damage, he says. "View state would be a viable mechanism for a targeted attack," he says.

The danger, he says, is when these attacks are able to grab brokerage or bank account data.

Even so, these attacks are not as common as a SQL injection or XSS attack. "SQL injection is still by far the most common mechanism for breaching Web apps. It's easy to find and exploit when you're attacking a merchant ... for the bulk extraction of credit card numbers," Byrne says.

There's no patch to fix these flaws, either. "All developers have to do is perform a configuration change," he says, and encrypt view state.

Byrne and Sulatycki's hacking tool basically displays the content in view state, which is typically hidden on the Web page. "The tool will also modify view state so that when a tester resubmits it to the application, it will display the session variable contents and response to the server. That helps show what data is accessible and [visible] through view state," Byrne says.

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message. Kelly Jackson Higgins is the Executive Editor of Dark Reading. She is an award-winning veteran technology and business journalist with more than two decades of experience in reporting and editing for various publications, including Network Computing, Secure Enterprise ... View Full Bio

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
Inside the Ransomware Campaigns Targeting Exchange Servers
Kelly Sheridan, Staff Editor, Dark Reading,  4/2/2021
Beyond MITRE ATT&CK: The Case for a New Cyber Kill Chain
Rik Turner, Principal Analyst, Infrastructure Solutions, Omdia,  3/30/2021
Register for Dark Reading Newsletters
White Papers
Current Issue
2021 Top Enterprise IT Trends
We've identified the key trends that are poised to impact the IT landscape in 2021. Find out why they're important and how they will affect you today!
Flash Poll
How Enterprises are Developing Secure Applications
How Enterprises are Developing Secure Applications
Recent breaches of third-party apps are driving many organizations to think harder about the security of their off-the-shelf software as they continue to move left in secure software development practices.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.2.0, BinaryHeap is not panic-safe. The binary heap is left in an inconsistent state when the comparison of generic elements inside sift_up or sift_down_range panics. This bug leads to a drop of zeroed memory as an arbitrary type, which can result in a memory ...
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.49.0, String::retain() function has a panic safety problem. It allows creation of a non-UTF-8 Rust string when the provided closure panics. This bug could result in a memory safety violation when other string APIs assume that UTF-8 encoding is used on the sam...
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.49.0, VecDeque::make_contiguous has a bug that pops the same element more than once under certain condition. This bug could result in a use-after-free or double free.
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.50.0, read_to_end() does not validate the return value from Read in an unsafe context. This bug could lead to a buffer overflow.
PUBLISHED: 2021-04-11
In the standard library in Rust before 1.52.0, the Zip implementation has a panic safety issue. It calls __iterator_get_unchecked() more than once for the same index when the underlying iterator panics (in certain conditions). This bug could lead to a memory safety violation due to an unmet safety r...