JavaScript-based PDF Viewers, Cross Site Scripting, and PDF files

❗️Disclosure: I worked at Smallpdf from January to November 2021. In that period, Smallpdf used PDFTron WebViewer SDK (now Apryse PDF WebViewer) to render PDF files in the browser. This information was public. Interview and first XSS in PDFTron WebViewer In October 2020, I started my job interview with Smallpdf for a Cloud Security Engineer position. During the interview process, I began to use Smallpdf as a service to “play” with it, and being a web application that renders PDF files, I tried to exploit PDF files to inject arbitrary Javascript code....

August 27, 2024 · 16 min · 3356 words · Luigi Gubello

Javascript Injection in six Android mail clients

During last spring (2019) I started to “open and read” the Android applications before installing them. Reversing an APK file can be interesting to understand how an app works, how it manages the permissions and my data, if there are vulnerabilities. I was looking for a different Android mail client, so I started to reverse them and I found many mail clients on Play Store were - maybe are - vulnerable to Javascript injection....

February 15, 2020 · 2 min · 340 words · Luigi Gubello

Router D-Link DVA-5592 – Authentication Bypass

Info Vendor: D-Link Italia Product: Router DVA-5592 Firmware: DVA-5592_A1_WI_20180823 CVE: 2018-17777 Shodan: ADB Broadband HTTP Server" title:“D-Link” Description In the router D-Link DVA-5592 it is possible to bypass the web authentication form. The problem is the path /ui/cbpc/login, because it is accessible without authentication. If the router’s owner has not changed the Parental Control PIN, it is possible to access to the Parental Control area, by using the default PIN code....

December 16, 2018 · 2 min · 230 words · Luigi Gubello

HTML Injection in Signal Desktop 1.10.1

A few days ago some researchers discovered an HTML Injection vulnerability in Signal Desktop and they wrote a public disclosure. The Signal team quickly released an update on May 11th, the problem was in the file /js/views/message_view.js. Reading the changes to message_view.js, it seemed that the Signal team had only fixed the “problem of the URL". So, maybe, I could still inject HTML code somehow. In Signal Desktop there are not many features, so I have tried to write me a basic message: <b>PROVA</b>....

May 16, 2018 · 2 min · 300 words · Luigi Gubello