We try to break in first,
before somebody else does

Penetration testing on web apps, portals and corporate networks. Not an automated scan with a badge at the end: someone genuinely trying to get in, using the same techniques as a person who would do it to steal, then writing up what they found in language you can hand to your supplier.

fymera — discovery

pentest --scope "app + api" --mode grey-box

surface mapped ......... 148 endpoints

login attempts ......... no rate limiting found

authorisation checks ... 1 critical flaw

[ok] report delivered in 5 working days

pentest --retest

a second pass after your fixes: included

waiting

$ ./pentest --target "your system"

We try to break in first,
before somebody else does

A penetration test is not an automated scan with a badge at the end. It is someone genuinely trying to get in, using the same techniques as a person who would do it to steal — then writing up what they found in language you can hand to your supplier.

report — what we usually find
  • critica

    Access to other clients' data

    Changing one number in the address opened another company's documents. It is the commonest flaw we find, and almost nobody has ever looked for it.

  • alta

    Credentials written into the code

    API keys and passwords inside the repository or inside the JavaScript served to the browser. Anyone who knows where to look will find them.

  • alta

    No limit on login attempts

    The login form accepted unlimited attempts: a weak password falls in minutes.

  • media

    Sessions that never expire

    A stolen login stays valid forever. People who left the company can still get in.

  • media

    Updates stalled for months

    Components with known, already-published vulnerabilities. No attack required: just reading the advisory.

None of these is theoretical: they are the five we find most often. The report says where it is, how we got there and what to do — with a free retest after you have fixed it.

// when you need it

The signs it is worth looking
before an incident looks for you

Not everyone needs it to the same degree. But recognise three of these and the cost of not looking has already passed the cost of a test.

  • 01 The software handles customer data, payments or signed documents
  • 02 A client or a tender has asked you for a written security assessment
  • 03 The portal is open on the internet and people outside the company log into it
  • 04 Whoever wrote the software has gone, and nobody has read that code since
  • 05 Component updates have been sitting still for more than six months
  • 06 You cannot say how many active credentials exist right now

// what we actually do

Four things,
and none of them is a badge

A serious test differs from a fake one in exactly one way: the fake one produces a list of automated warnings, this one produces a path someone walked.

  • 01

    Reconnaissance

    We map the exposed surface: domains, subdomains, endpoints, forgotten services left running for years. Half of all intrusions start from something nobody remembered was online.

  • 02

    Guided intrusion

    We genuinely try the routes: authorisation that can be sidestepped, sessions that can be reused, other people’s data reachable by changing a number. We agree limits and hours beforehand, and we never touch real data.

  • 03

    A report in two languages

    One part for whoever decides — what you are exposed to, how bad it is, what to fix first. One part for whoever fixes it, with requests, responses and steps to reproduce. Without the second, the first cannot be acted on.

  • 04

    Retest included

    Once you have fixed things we come back to the same points and verify. It is the part almost nobody includes, and the only one that proves the problem is actually closed.

// how we get there

Authorisation first,
always and in writing

A penetration test without a signed mandate is not a test: it is a crime. It is the first thing we put on the table, and without it we do not start.

Scope and mandate

01

We write down what is in and what is out, during which hours, with which limits. Signed by whoever has the authority to authorise it — not by whoever runs the system, by whoever owns it.

Reconnaissance and mapping

02

We build the inventory of what is reachable. This is often where the first surprise appears: a staging environment left open, an old subdomain still alive.

Testing with immediate feedback

03

Critical flaws get reported straight away, not at delivery: if we find a door open onto your customers’ data, you know that same day.

Report and retest

04

Delivery of the report with priorities and remediation steps, and after your fixes we come back and check the same points.

// a piece of a report

A real flaw,
from the request to the line that closes it

This is the shape things take in the report: what we sent, what answered, and where the point is. It is also the flaw we find most often.

report 04 · missing authorisation check · high severity

# The session belongs to a real user: they logged in\n# normally. Only the number in the address changes.\n\nGET /api/documenti/4187 HTTP/2\nHost: portale.esempio.it\nCookie: sessione=8f2a91c4d7e0\n\nHTTP/2 200 OK\nContent-Type: application/json\n\n{\n  "id": 4187,\n  "cliente": "another company",\n  "file": "contratto-firmato.pdf",\n  "url": "https://portale.esempio.it/media/9f1c2b.pdf"\n}

The fix does not add a check: it removes the possibility of forgetting one. As long as authorisation is an if written next to the query, sooner or later somebody will write a new query without that if beside it. Put inside the query, the wrong question can no longer be asked — and anyone trying a number at random gets a 404, so they do not even learn that the number corresponds to anything.

$ cat stack.json

What we build it on

  • OWASP Top 10 The reference list of application flaws: the minimum scope, not the goal
  • Burp Suite Intercepting and manipulating traffic: where authorisation that does not hold shows up
  • Nmap Network and exposed-service reconnaissance, including what nobody remembered leaving on
  • Manual testing The part no tool does: understanding the application’s logic and trying to subvert it
  • Dependency analysis Components with already-published vulnerabilities: found by reading, not by attacking
  • Post-fix retest Same points, same tests, after your work. Included, not billed separately

$ ./domande --frequenti

The questions that
always come up

Is this legal?

Only with a written mandate from whoever owns the system, defining scope, hours and limits. It is the first thing we prepare, and without it we do not begin: an unauthorised penetration test is a crime, for us and for whoever commissioned it.

Might you break something?

Destructive tests — the ones that can take a service down — happen only on request and on agreed environments, within a declared window. On production systems we work non-destructively and we do not touch real data.

How long does it take?

A test on a mid-sized web app runs 5 to 10 working days including the report. Reconnaissance takes longer than people expect: it is the part that decides the quality of everything after it.

What do we get at the end?

A report in two parts: one for decision-makers, with risk and priorities, and a technical one with steps to reproduce each flaw. Plus a call to read it together, because a PDF handed over and left alone ends up in a folder.

Is it worth it for a small site?

If it collects data about people, yes — and not because of size: the automated scanners hunting for flaws do not check your turnover first. If it is a brochure site with no data and no login, the honest answer is usually that updates and backups are enough.

And afterwards, how do we stay secure?

Security is not a state, it is maintenance: updates, access reviews, and a fresh test whenever something significant changes. The report says how often it makes sense to repeat it in your case.

new project

fymera init --project "yours"

Let us talk about what
you have exposed online

Thirty minutes on video to understand the scope. If the right answer is "update everything and rate-limit your logins", we will say that instead of selling you a test.