Skip to content
Book a call

Home / Attacks & tests / Overview of Cryptographic Security Issues 

3 test cases

Overview of Cryptographic Security Issues 

Cryptographic testing examines whether data is protected in transit and at rest using mechanisms that are current, correctly configured and correctly used. What usually fails here is not the algorithm but its application: a sound primitive used in a way that does not achieve what was intended.

What an attacker is trying to achieve

The attacker wants plaintext, or the ability to forge something that is supposed to be unforgeable. That is usually reached through a weak configuration, a channel that was left unprotected, or an implementation that leaks information about the decryption it performs.

Test cases

3 test cases in this category. Each states what the test proves, how it is carried out, what has to be in place beforehand, what a positive result looks like, and whether the work is manual, automated or a mixture.

WEB-CRYP-01 Weak TLS Ciphers and Insufficient Transport Protection

Objective — Determine whether the transport layer protecting the application negotiates only current protocol versions and cipher suites, on every host in scope rather than only the primary one.

How it is tested — Enumerate negotiable protocol versions and cipher suites per host and port, including administrative, API and secondary names. Examine the certificate chain for key size, signature algorithm, name coverage, validity and trust path. Determine whether downgrade to a weaker version is possible, whether suites without forward secrecy are offered, and whether the configuration is consistent across the estate.

Prerequisites — The complete host and port list; network reachability to each; no application credentials required.

Indicators — A deprecated protocol version negotiated; a suite without forward secrecy or with a broken primitive; an undersized key; a certificate not covering the name in use; one host materially weaker than the rest.

CoverageWSTG-CRYP-01V9.1.1V9.1.2CWE-326CWE-327

DepthAutomated Enumeration is reliably automated. The manual contribution is ensuring every host is included, since the weak one is rarely the main name.

WEB-CRYP-02 Padding Oracle

Objective — Determine whether the application reveals, through its response to modified ciphertext, enough about the decryption process to permit plaintext recovery or forgery without the key.

How it is tested — Identify values that are encrypted rather than merely encoded — tokens, view state, identifiers and parameters of a length consistent with a block cipher. Modify individual bytes and observe whether the application distinguishes a padding failure from a decryption success with an invalid value, through status, message, response length or timing. Establish whether the ciphertext is authenticated before it is decrypted, which removes the oracle entirely.

Prerequisites — A value the application decrypts; the ability to submit many modified variants without anti-automation interfering; a non-production environment.

Indicators — A distinguishable response between padding and content failure, in text, status, length or timing; ciphertext accepted without an integrity check.

CoverageWSTG-CRYP-02V6.2.5CWE-209CWE-347

DepthManual Recognising which opaque value is encrypted, and reading a timing-only distinction, is judgement rather than signature matching.

WEB-CRYP-03 Sensitive Information Sent via Unencrypted Channels

Objective — Determine whether any sensitive data leaves the application over a channel that does not protect it, including channels the application uses indirectly.

How it is tested — Inventory every outbound channel: the application's own responses, third-party resources it loads, redirects it issues, webhooks and integrations it calls, and any notification it sends by mail or message. Establish for each whether it is encrypted, and whether sensitive values travel in it. Include mixed content on otherwise-secured pages, and values placed in URLs, which are exposed to intermediaries and referrers regardless of transport.

Prerequisites — The operator's statement of which data is sensitive; the ability to observe outbound traffic; access to any notification channel the application uses.

Indicators — Sensitive data in a plaintext request or response; mixed content on a secured page; sensitive values in a URL or referrer; an integration called over an unprotected channel.

CoverageWSTG-CRYP-03V9.1.1CWE-319CWE-311

DepthHybrid Traffic inspection is automatable; deciding which values are sensitive requires the operator's classification.

What we need from you

Network reachability to every in-scope host and port; a position from which traffic can be observed for the transport tests; sample ciphertext produced by the application where an oracle is suspected; and the operator's statement of which data is considered sensitive, since that determines which channels matter.

Standards this category maps to

Every identifier below is quoted from the published control list it belongs to. Where a test has no defensible mapping, none is given rather than an approximate one.

  • WSTG-CRYP-01 — Testing for Weak Transport Layer Security
  • V9.1.1 — Verify that TLS is used for all client connectivity, and does not fall back to insecure or unencrypted communications.
  • V9.1.2 — Verify using up to date TLS testing tools that only strong cipher suites are enabled, with the strongest cipher suites set as preferred.
  • CWE-326 — Inadequate Encryption Strength
  • CWE-327 — Use of a Broken or Risky Cryptographic Algorithm
  • WSTG-CRYP-02 — Testing for Padding Oracle
  • V6.2.5 — Verify that known insecure block modes (i.e. ECB, etc.), padding modes (i.e. PKCS#1 v1.5, etc.), ciphers with small block sizes (i.e. Triple-DES, Blowfish, etc.), and weak hashing algorithms (i.e. MD5, SHA1, etc.) are not used unless required for backwards compatibility.
  • CWE-209 — Generation of Error Message Containing Sensitive Information
  • CWE-347 — Improper Verification of Cryptographic Signature
  • WSTG-CRYP-03 — Testing for Sensitive Information Sent Via Unencrypted Channels
  • CWE-319 — Cleartext Transmission of Sensitive Information
  • CWE-311 — Missing Encryption of Sensitive Data

Tell us what the system does and what worries you.

If a penetration test is not what you need yet, we will say so.

Book a scoping callSee the test catalogue