Reflected File Download vulnerability

Published on 24 Jun 2018
1 min read
Vulnerability

Reflected File Download (RFD) is an attack executed through a combination of URL path segments with web services. An attacker can perform reflected file download attack through JSONP injection. This vulnerability is used to inject malware into the end users system. JSONP injection is an injection attack that affects the JSON files used in the application. An attacker can insert files on the API link using semicolons(;). When the link gets executed by the browser, it will consider it as a file and execute the file. The attacker can take leverage of this vulnerability to make the end users download the malicious file.

For an attacker to perform an RFD attack, the attacker must be able to:-

  • reflect and inject shell commands.
  • link files using APIs.
  • download the file.

Nowadays, a JSON and JSONP files are used by almost all web applications because the application can asynchronously load data into the pages. This implementation helps to reduce the amount of traffic between the application and clients.

Example

Consider the following link is vulnerable to reflected file download vulnerability.

https://example.beaglesecurity.com/s;/setup.bat;?q=rfd%22 calc 

In the above URL, everything between the semi-colons will not be processed. Instead, the browser will consider it as a file name and download it and execute the file without checking. The downloaded file will be executed as a batch file and calc.exe will be executed.

Impact

Using this attack, the attacker can do the following impacts:-

  • Gain complete control over the user’s machine.
  • Gain access to browsers like Google Chrome (even if, the communication is encrypted).
  • Exploit vulnerabilities using machine’s installed vulnerable software.

Mitigation / Precaution

Beagle recommends the following fixes-

  • Sanitise the application’s API input.
  • Add the Content-Disposition attachments in the application.
  • Add X-Content-Type-Options along with nosniff header to API responses.
Nash N Sulthan
Written by
Cyber Security Lead Engineer

Nash is a seasoned Security Engineer who brings a multifaceted approach to safeguarding digital environments. Not only does he excel in implementing robust security measures, but he's also deeply involved in the research and development process, constantly innovating to stay ahead of cyber threats. Nash's commitment to security extends beyond the conventional, making him a valuable contributor to the evolving landscape of digital defense.

Experience the Beagle Security platform
Unlock one full penetration test and all Advanced plan features free for 14 days
4.8 on G2 • ISO 27001 certified
See How Beagle Security Works
No credit card • No setup required
Launch interactive demo