Likes Likes:  0
Resultaten 1 tot 2 van de 2
Geen
  1. #1
    GulfTech Security Research
    Zen Cart <= 1.3.8a SQL Injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Zen Cart <= 1.3.8a SQL Injection

    ################################################## ########
    # GulfTech Security Research September 04, 2008
    ################################################## ########
    # Vendor : Zen Ventures, LLC
    # URL : http://www.zen-cart.com
    # Version : Zen Cart <= 1.3.8a
    # Risk : SQL Injection
    ################################################## ########


    Description:
    Zen Cart is a full featured open source ecommerce web application
    written in php that allows users to build, run and promote their
    own online store. Unfortunately there are multiple SQL Injection
    issues in Zen Cart that may allow an attacker to execute arbitrary
    SQL queries on the underlying database. This may allow for an attacker
    to gather username and password information, among other things. An
    updated version of Zen Cart has been released to address these
    issues and users are encouraged to upgrade as soon as possible.


    SQL Injection:
    There are a couple of SQL Injection issues within Zen Cart that may
    allow for a malicious attacker to execute arbitrary SQL queries, and
    gather arbitrary data from the database. The first issue is due to
    product attribute values not being properly sanitized (particularly
    the value of certain "id" parameters) when adding to or updating the
    shopping cart. The queries that are vulnerable to SQL injection can
    either be an update query, or an insert query depending on current
    shopping cart state and whether or not the customer is logged in.
    However, Zen Cart installations running with a database that supports
    sub selects are vulnerable to exploitation. Otherwise the issue is
    limited in regards to it's ability to be exploited.

    function actionMultipleAddProduct($goto, $parameters) {
    global $messageStack;
    if (is_array($_POST['products_id']) && sizeof($_POST['products_id'])
    > 0) {

    foreach($_POST['products_id'] as $key=>$val) {
    // while ( list( $key, $val ) = each($_POST['products_id']) ) {
    if ($val > 0) {
    $adjust_max = false;
    $prodId = $key;
    $qty = $val;
    $add_max = zen_get_products_quantity_order_max($prodId);
    $cart_qty = $this->in_cart_mixed($prodId);

    The above code comes from the actionMultipleAddProduct function in
    the shopping_cart class, and unlike the first issue I discussed
    introduces a highly exploitable SQL Injection issue in to Zen Cart.
    The root of the problem is that the in_cart_mixed function uses $prodId
    in a query without any sanitation.

    products_id[-99' UNION SELECT IF(SUBSTRING(admin_pass,1, 1) = CHAR(97),
    BENCHMARK(1000000, MD5(CHAR(1))), null),2 FROM zencart_admin/*]

    It's possible for an attacker to submit a request to the
    "multiple_products_add_product" action with a products_id like the
    one above (remember to set the value to one if you wish to test this)
    and successfully enumerate database contents based on query response
    time. Of course other attacks may be possible also depending on server
    configuration. For example, if an attacker select INTO OUTFILE then
    this issue can allow for remote php code execution.



    Solution:
    The Zen Cart developers were very prompt and professional in releasing a
    fix for the previously mentioned issues. An updated version, as well as
    patches can be found at the following location.

    http://www.zen-cart.com/forum/showthread.php?p=604473



    Credits:
    James Bercegay of the GulfTech Security Research Team



    Related Info:
    The original advisory can be found at the following location
    http://www.gulftech.org/?node=resear...00129-09042008


  2. #2
    Ian Wilson
    Zen Cart &lt;= 1.3.8a SQL Injection
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Zen Cart <= 1.3.8a SQL Injection

    Hi,

    Just wanted to say thanks to James and Gulftech for the manner in which
    they worked with the Zen Cart developers in identifying and fixing this
    Exploit.

    Ian C Wilson
    Zen Cart Development Team


    GulfTech Security Research wrote:
    > ################################################## ########
    > # GulfTech Security Research September 04, 2008
    > ################################################## ########
    > # Vendor : Zen Ventures, LLC
    > # URL : http://www.zen-cart.com
    > # Version : Zen Cart <= 1.3.8a
    > # Risk : SQL Injection
    > ################################################## ########
    >
    >
    > Description:
    > Zen Cart is a full featured open source ecommerce web application
    > written in php that allows users to build, run and promote their
    > own online store. Unfortunately there are multiple SQL Injection
    > issues in Zen Cart that may allow an attacker to execute arbitrary
    > SQL queries on the underlying database. This may allow for an attacker
    > to gather username and password information, among other things. An
    > updated version of Zen Cart has been released to address these
    > issues and users are encouraged to upgrade as soon as possible.
    >
    >
    > SQL Injection:
    > There are a couple of SQL Injection issues within Zen Cart that may
    > allow for a malicious attacker to execute arbitrary SQL queries, and
    > gather arbitrary data from the database. The first issue is due to
    > product attribute values not being properly sanitized (particularly
    > the value of certain "id" parameters) when adding to or updating the
    > shopping cart. The queries that are vulnerable to SQL injection can
    > either be an update query, or an insert query depending on current
    > shopping cart state and whether or not the customer is logged in.
    > However, Zen Cart installations running with a database that supports
    > sub selects are vulnerable to exploitation. Otherwise the issue is
    > limited in regards to it's ability to be exploited.
    >
    > function actionMultipleAddProduct($goto, $parameters) {
    > global $messageStack;
    > if (is_array($_POST['products_id']) && sizeof($_POST['products_id'])
    > > 0) {

    > foreach($_POST['products_id'] as $key=>$val) {
    > // while ( list( $key, $val ) = each($_POST['products_id']) ) {
    > if ($val > 0) {
    > $adjust_max = false;
    > $prodId = $key;
    > $qty = $val;
    > $add_max = zen_get_products_quantity_order_max($prodId);
    > $cart_qty = $this->in_cart_mixed($prodId);
    >
    > The above code comes from the actionMultipleAddProduct function in
    > the shopping_cart class, and unlike the first issue I discussed
    > introduces a highly exploitable SQL Injection issue in to Zen Cart.
    > The root of the problem is that the in_cart_mixed function uses $prodId
    > in a query without any sanitation.
    >
    > products_id[-99' UNION SELECT IF(SUBSTRING(admin_pass,1, 1) =
    > CHAR(97), BENCHMARK(1000000, MD5(CHAR(1))), null),2 FROM zencart_admin/*]
    >
    > It's possible for an attacker to submit a request to the
    > "multiple_products_add_product" action with a products_id like the
    > one above (remember to set the value to one if you wish to test this)
    > and successfully enumerate database contents based on query response
    > time. Of course other attacks may be possible also depending on server
    > configuration. For example, if an attacker select INTO OUTFILE then
    > this issue can allow for remote php code execution.
    >
    >
    >
    > Solution:
    > The Zen Cart developers were very prompt and professional in releasing a
    > fix for the previously mentioned issues. An updated version, as well as
    > patches can be found at the following location.
    >
    > http://www.zen-cart.com/forum/showthread.php?p=604473
    >
    >
    >
    > Credits:
    > James Bercegay of the GulfTech Security Research Team
    >
    >
    >
    > Related Info:
    > The original advisory can be found at the following location
    > http://www.gulftech.org/?node=resear...00129-09042008



Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics