Category

Technical

Category

node common vulnerabilities best practices

Another article on Node.js security? But in this one, we focus on the most common vulnerabilities encountered during penetration testing.

Node related vulnerabilities have consequences for your entire web application. It is therefore essential to detect and correct them.  Some of these flaws are not specific to Node and also exist in other languages and frameworks. This is why we have focused on providing general best practices and specific tools for Node.js.

Let’s dive in.

SSTI: Server Side Template injection vulnerability

Server-side template injection (SSTI) vulnerabilities tend to be less researched than other types of flaws. However, their impact is significant and often leads to remote code execution (RCE). They are therefore flaws that should not be underestimated.

In what contexts do SSTI vulnerabilities occur? How to detect them and how to prevent them?

This is what we will see in this article.

Storing passwords database

Storing passwords securely is a recurring concern.
But what are the main methods, how do they work, and what are they worth against current password cracking techniques?
In this article we explain the main principles of secure storage (hash, salt, pepper, iteration) and highlight their importance for resisting password recovery methods. Finally, we will talk about a reliable hash function for secure storage.

Introduction to Public Key Certificate

A digital certificate is a data file that allow, on the one hand, the non-repudiation and the integrity of data, and on the other hand, to identify and to authenticate a person or an organization and also to encode communications.

A digital certificate includes several information, as:

  • A public key
  • Authentication information
  • A validity time
  • An issuer that signs the certificate

This last point is crucial to verify the trustworthiness of a certificate. For this, when a certificate is received, a chain of trust is built to a certificate authority.

To explain the working of the chain of trust, let’s present some notions:

The Metasploit framework is an open source tool, allowing searching, analysing and exploiting vulnerabilities. It has many modules and tools that can be very useful during intrusion tests, whether on Web applications or on a company’s information system.
Although often used relatively basically, for example to launch a simple exploitation module on a target, this framework has options and tools that make it a key ally for a pentest. We will therefore see here how to use the Metasploit framework in an optimized way.

In this previous article, we have seen what a SSRF vulnerability is, and how, in general, it can be exploited. We had placed ourselves in a quite simple theoretical framework, but various elements (either due to the vulnerability itself or due to security implementations) can make the task more complicated.

In this article, we will have a look at various methods to go further. On
the agenda:

  • Various methods for manually bypassing filters;
  • SSRFMap: a semi-automatic operating tool.