php2shell: the PHP bugs that run before your code does
Two critical PHP interpreter bugs allow unauthenticated remote code execution before your app runs. What they are, how to check your servers, and what to do now, with plain-language summaries.
Independent software work
Software, infrastructure, and technical writing for teams whose work needs to hold up.
Made in Lima, Peru
The practice
Made by Nick is a place for product engineering, platform work, and experiments. I work with the practical constraints that shape a product: interfaces people understand, operations that are easy to run, and decisions someone can trace later.
From the notebook
Two critical PHP interpreter bugs allow unauthenticated remote code execution before your app runs. What they are, how to check your servers, and what to do now, with plain-language summaries.
A PMM 3.9.0 agent would not connect and only said context canceled. I ruled out the token and the proxy until I found that OVHcloud DNS took 10 seconds and gRPC gave up at 5.
Four roles at one company, and a gradual move from writing services to running the platform underneath them.
A cloud migration is mostly an inventory problem. This is the approach I would follow again.
How I set up our observability platform on Grafana, Loki, Tempo, Mimir, and OpenTelemetry, and the few rules that made it useful.
Reaching a machine behind a network you don't control, with a small design built on plain OpenSSH.
Reliable APIs are decided long before an incident, in the boundaries, defaults, and small choices people never see.
Before caching a response, decide how fresh it needs to be and what happens when it goes stale.
Security comes from ordinary safeguards used consistently at every trust boundary.
Capabilities
Let's work through it