Detect exploitation of a public-facing application by monitoring for request patterns, error spikes, and process behaviour that deviate from normal traffic. Look for web shell indicators, unexpected child processes, file writes in application directories, and authentication bypass attempts. Correlate application logs with host and network telemetry to confirm whether the attack succeeded.
What exploitation looks like in live telemetry
For a public-facing application, exploitation usually leaves a mixed trail: abnormal request sequences, bursts of 4xx or 5xx errors, unusual authentication outcomes, and host-side behaviour that the application should never normally trigger. The key is to treat the web request, process, file system, and network layers as one story, not separate alerts.
Indicators that matter most are those that show the attacker moved beyond probing and into execution. That includes web shell style requests, command execution spawned from the application worker, new files written under web roots or application directories, and outbound connections that are hard to explain from normal application behaviour.
How to separate noise from true exploitation
Single anomalies are often just bad input, bots, or misconfigurations. Exploitation becomes more credible when several signals align, for example a spike in request errors followed by a new process tree, file writes in an application path, and a sudden change in authentication success or privilege use.
Correlating application logs with host telemetry is what turns suspicion into confidence. Web logs can show the entry path, EDR or audit logs can show process creation and file activity, and network telemetry can confirm whether the application reached out to an unexpected destination or whether credentials, tokens, or sessions may have been abused after initial access.
What investigators should confirm after an alert
Once a suspicious pattern appears, confirm whether the event was only an attempted exploit or whether it achieved execution, persistence, or credential abuse. A successful intrusion often shows follow-on activity such as new administrative actions, changes to application configuration, unexpected child processes, or attempts to blend into normal service traffic.
Use the application’s normal baseline as the reference point. The most useful question is not whether one log entry looks strange, but whether the sequence of requests, process launches, file changes, and network connections makes sense for that application in that environment.
Risk and Threat Considerations
Public-facing applications are exposed to continuous scanning, exploit chains, and automation that can move from discovery to payload delivery very quickly. The main risk is not only the initial vulnerability, but the speed with which an attacker can turn a web request into code execution, data access, or a foothold for later movement.
Failure mechanism: A flaw, weak configuration, or exposed management path allows attacker-controlled input to influence application behaviour, spawn a process, write files, bypass authentication, or reach internal resources.
Impact: The organisation can lose application integrity, disclose data, enable persistence, and miss the compromise if monitoring stops at the web tier and does not include host and network corroboration.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
MITRE ATT&CK addresses the attack and risk surface, while OWASP ASVS sets the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| MITRE ATT&CK | T1190 — Exploit Public-Facing Application | Directly covers exploitation paths against internet-facing applications. |
| T1059 — Command and Scripting Interpreter | Child processes from an application often indicate command execution after exploitation. | |
| T1505 — Server Software Component | Web shells and server-side implants are common post-exploitation outcomes on public apps. | |
| Recommendation — Map suspicious web activity to T1190 and hunt for follow-on execution and persistence. Detect unexpected interpreter or shell execution spawned by the application process. Monitor application directories for new server-side components and web shell activity. | ||
| OWASP ASVS | V16 — Security Logging and Error Handling | Logging and error handling are central to detecting abuse and confirming exploit success. |
| V8 — Authorization | Authentication bypass attempts and privilege abuse are core exploitation signals in web apps. | |
| Recommendation — Instrument logs to capture request anomalies, errors, and security-relevant runtime events. Validate authorization paths and alert on abnormal access decisions and bypass attempts. | ||
Practitioner Guidance
What to verify: Confirm that your logging actually spans the web tier, the host, and the network path. If you only have request logs, you will often detect probing but not prove execution or post-exploit activity.
Decision rule: If suspicious requests are accompanied by child processes, file writes, or outbound connections from the application host, treat the event as a likely successful compromise until disproven. If you only see malformed requests with no host impact, handle it as an attempt and keep hunting for corroboration.
What to measure: Track the time between first suspicious request, first host-side indicator, and containment. Faster correlation usually means better detection engineering and less dwell time, especially when web exploitation is noisy or partially failed.
Practitioner takeaway: The strongest detections do not rely on a single indicator, they prove a chain of behaviour that should never occur in normal application operation.
Related resources from NHI Mgmt Group
- Guide: Edge Device Security Guide
- How can security teams detect prompt infiltration through a public-facing application?
- How should security teams detect exploitation of internet-facing applications before EDR alerts?
- How should security teams reduce the risk from public-facing application attacks?
- What should security teams do when a public-facing application is exploited?