In our blog, you will find articles on various IT security related topics, such as open penetration tests, public threat analyses, and analyses of other interesting topics.

XML – An Overview Thumbnail

What Are the Risks of XML? – Blog Series – Part #01

The eXtensible Markup Language (XML) is one of the most widely used languages to represent hierarchical data. The popularity of XML goes hand in hand with the use of AJAX [9] at the dawn of the modern Internet [2]. Although XML has been superseded as the Internet's leading data exchange format by JSON [2], the format has left its mark on today's technology landscape. After all, whatever you do on your PC these days, you are—consciously or unconsciously—most likely using XML.

BOLA - The #1 most critical API risk exemplified Thumbnail

In the previous blog post about API security, we described how to secure an API and introduced the top 10 most critical risks for APIs. This blog post will take a deeper dive into the most critical risk of all: broken object level authorization (BOLA). Based on real-life weaknesses we found during penetration tests, we will cover a few examples and also provide tips and tricks on how to spot and mitigate BOLA vulnerabilities.

How to Secure APIs Thumbnail

APIs (Application Programming Interfaces) allow companies to modularize functions and easily provide them to customers and third-parties. Current statistics show the increasing usage of APIs is accompanied by increasing security concerns. In 2021 the API traffic increased by 321%, whereas attacks on them increased by 681% compared to 2020, based on the latest report by Salt labs. 95% of all organizations had an API cyber security incident in the past 12 months [1] and the Google searches for the topic “Web API Security” increased by 400% since 2016 [2]. Current research by Imperva indicates that APIs account for 4,1% to 7,5% of all yearly cybersecurity attacks incidents and result in damages of 41 to 75 billion dollars. – CCS 2021 Best Paper Award Thumbnail

Three co-founders from Hackmanit (Prof. Dr Jörg Schwenk, Prof. Dr. Marcus Niemietz, Dr. Christian Mainka), together with researchers from the Ruhr University Bochum, received the Best Paper Award at the "ACM Conference on Computer and Communications Security" (CCS) 2021. CCS is one of the most important international IT security conferences and their committee selected the publication " From a Formal Model to the Automatic Evaluation of Cross-Site Leaks in Web Browsers" for the best paper award.

Web Cache Vulnerability Scanner Thumbnail

Web Cache Vulnerability Scanner (WCVS) is an open source standalone CLI web cache poisoning vulnerability scanner. We just released the stable version of WCVS to the public. As already announced in our previous blog post about web cache poisoning, WCVS enables users to easily and thoroughly scan their applications for web cache poisoning. In this blog post we will introduce the main features of WCVS.

In this blog post, we describe our second pro bono penetration test focusing on the top-10 extensions of the popular content management system (CMS) Joomla. In contrast to our first pro bono penetration test, we had a much wider scope due to 10 different CMS extensions. Therefore, we have decided to do an empirical study. In total, we responsibly reported 103 vulnerabilities.

Web Cache Poisoning Thumbnail

Web Caches are widely used, but their impact on security is often overlooked. In this post, we explain one attack class targeting web caches called “Web Cache Poisoning”. You will learn how “Web Cache Poisoning” might allow a malicious actor to exploit a web cache to attack your users or your application and how you can prevent this attack.

There are many attacks that you need to address when implementing an OAuth or OpenID Connect client. Despite its severe impact one attack is often overlooked in the process of securing clients; in a so-called “mix-up attack” an attacker makes use of a malicious authorization server to steal authorization codes or access tokens. Afterwards, the attacker can access the victim’s resources.

In this blog post we explain the best way how you can protect your application and prevent the severe impact of mix-up attacks.

Raccoon Attack Thumbnail

In September, we* published our new attack called Raccoon. Raccoon is a timing vulnerability that affects all TLS specifications up to 1.2. It allows attackers under certain conditions to break the encryption and read sensitive communication, for example, HTTP traffic or emails. Luckily, the vulnerability is really hard to exploit and relies on very precise timing measurements and on a specific server configuration to be exploitable. 

Last September, we announced our pro bono program to support non-commercial organizations and open-source applications. With this program, we want to help them to increase security if they cannot afford a professional penetration test. For selected applicants, we will conduct a professional penetration test with a total expense of up to ten man-days - for free!

Earlier this year we selected our first candidate: the JavaScript-based password manager KeeWeb. We identified multiple security issues and helped the developers to fix them. This allowed them to effectively protect KeeWeb’s users and their valuable credentials. You can find the full report of the penetration test here: KeeWeb Penetration Test Report. 

Are you involved with any project or application that could benefit from a professional penetration test, as well? Apply now to become our next candidate.

“Proof Key for Code Exchange” (also known as PKCE) [1] is a well-known protection mechanism for OAuth and OpenID Connect.

It was initially introduced to protect leaked or stolen authorization codes of benign native and mobile apps (which are public clients) from being redeemed by malicious apps.

With the time PKCE has become one of the standard measures to improve the security of OAuth and OpenID Connect protocol flows for all kinds of clients. The best current practices draft [2], which advises on how to implement OAuth securely, recommends to generally use PKCE to protect the authorization code and also prevent CSRF attacks.

However, PKCE cannot protect your client against all attacks which target the code. In this blog post, we will explain one attack example, which circumvents PKCE and allows an attacker to use a stolen code to access the victim’s resources.

This June a bug [1] in certain GnuTLS versions was found, which affects the security of session resumption when session tickets are used. The bug causes servers using this implementation, to encrypt session tickets with an all-zero key for the duration of the initial key rotation interval. Thus session tickets issued by a vulnerable server during its first hours of uptime can be decrypted. By default GnuTLS changes the key used for encryption of session tickets every 18 hours.

Affected by the bug is TLS 1.2 when session tickets (defined in RFC 5077 [2]) are used. The data obtained from the decrypted session ticket can be used to decrypt all (recorded) communication of the associated TLS session.

By supporting non-commercial organizations and open-source applications, we want to increase their security. For this reason, we created our pro bono program last September. The pro bono program offers applicants the chance to be selected for a free high-quality penetration test with a total expense of 10 man-days.

As the first candidate, we selected KeeWeb, which is a KeePass compatible password manager. KeeWeb is both available as a web application and cross-platform native application. It allows users to open and sync their password databases stored locally or in a cloud storage.

We selected KeeWeb because it was an excellent fit for our pro bono program. First, its security is crucial, given the fact it processes the user’s password databases. Second, it is a web application written in JavaScript and accesses cloud storage providers using OAuth. Both are part of our key expertise.

This December, Karsten Meyer zu Selhausen received the Eurobits Excellence Award 2019 for his master's thesis "Security of PDF Signatures" [1]. Since 2017, eurobits e.V. – as the center for excellence within the IT security field located in Bochum – annually honors a thesis of a graduated student within the field of IT security for its scientific contribution and high relevance for IT security in practice.

Our IT security consultant Karsten was among the first to investigate the security of digital signatures applied to PDF files. The results of his master's thesis provided the basis for the paper "1 Trillion Dollar Refund – How To Spoof PDF Signatures" published at CCS '19 [2] and helped to increase the security of the affected applications.

Hackmanit congratulates Karsten on winning the award and is happy that he is part of the team.

In the following, a short overview of the results of his master's thesis is given.

In October, we conducted a grey-box penetration test of a SAML-based Single Sign-On solution operated by SURFnet. The tested application used the open-source PHP library SimpleSAMLphp, whose source code we analyzed as a part of the penetration test. We were able to identify a novel variant of an XML Signature Wrapping (XSW) attack in SimpleSAMLphp, which allowed us to bypass the integrity and authenticity protection of the SAML assertion and change its contents arbitrarily.

In the following, we explain the details of the successful XSW attack, but first, we give a brief overview to SimpleSAMLphp, SAML, and XSW in general.

UI Redressing (UIR) describes a set of powerful attacks which can be used to circumvent browser security mechanisms like sandboxing and the Same-Origin Policy. In essence, an attacker wants to lure a victim into performing actions out of context by commonly making use of social engineering techniques in combination with invisible elements and hijacked trustworthy events. The set of attacks includes techniques like manipulating the mouse cursor, stealing touch gestures, and maliciously reuse keystrokes. Introduced in 2008, clickjacking was the first UIR attack which made it possible to automatically hijack the camera and microphone of the victim by stealing a few left-clicks within a Flash-based browser game. 

Hackmanit is happy to announce its pro bono penetration test program for web and single sign-on (SSO) applications. In a half-year cycle, starting in January 2020, we offer free remote penetration tests with a maximum contingent of ten man-days.

We aim to support non-commercial organizations which cannot afford commercial penetration tests. You can apply for a free penetration test if you feel that your organization fulfills the following requirements:

  • Non-commercial application (e.g., open-source software)
  • High impact (e.g., a high number of users or high criticality in the security/privacy areas)
  • You as an applicant should take care of clarifying any potential ethical and legal concerns

There will not be any significant difference between our pro bono penetration test and our usual commercial engagements except that you do not have to pay anything. However, in contrast to our commercial tests, you must agree to allow Hackmanit to publish the unfiltered version of our penetration test report. We will do this after you have fixed the weaknesses or, at the latest, after 90 days from informing you about the weaknesses.

Based on the proven expertise in the areas of Single Sign-On and OpenID Connect, our team has been selected to perform an open penetration test of the DENIC ID - an implementation of ID4me.
The scope of the penetration test was to evaluate typical Single Sign-On weaknesses and the impact of novel features implemented in DENIC ID on the security of this login system.


DENIC ID is the first widely-deployed implementation of ID4me ( - a novel protocol for federated identity management. It is based on well-established standards such as OpenID Connect and Domain Name System (DNS). In contrast to other Single Sign-On schemes, ID4me divides the duties of the identity provider into two separated entities: an identity agent and an identity authority. The identity agent provides registration services and manages user data. The identity authority is responsible for user authentication and authorization.